CEPH filesystem development
 help / color / mirror / Atom feed
From: scan-admin@coverity.com
To: ceph-devel@vger.kernel.org
Subject: New Defects reported by Coverity Scan for ceph
Date: Sat, 12 Mar 2016 10:04:51 -0800	[thread overview]
Message-ID: <56e45a4378cef_92cabd3309444b@ss1435.mail> (raw)


Hi,

Please find the latest report on new defect(s) introduced to ceph found with Coverity Scan.

15 new defect(s) introduced to ceph found with Coverity Scan.
9 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan.

New defect(s) Reported-by: Coverity Scan
Showing 15 of 15 defect(s)


** CID 1355567:  Error handling issues  (CHECKED_RETURN)
/os/filestore/FileStore.cc: 3249 in FileStore::_write(const coll_t &, const ghobject_t &, unsigned long, unsigned long, const ceph::buffer::list &, unsigned int)()


________________________________________________________________________________________________________
*** CID 1355567:  Error handling issues  (CHECKED_RETURN)
/os/filestore/FileStore.cc: 3249 in FileStore::_write(const coll_t &, const ghobject_t &, unsigned long, unsigned long, const ceph::buffer::list &, unsigned int)()
3243         int rc = backend->_crc_update_write(**fd, offset, len, bl);
3244         assert(rc >= 0);
3245       }
3246      
3247       if (replaying || m_disable_wbthrottle) {
3248         if (fadvise_flags & CEPH_OSD_OP_FLAG_FADVISE_DONTNEED) {
>>>     CID 1355567:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "posix_fadvise(**fd, 0L, 0L, 4)" without checking return value. This library function may fail and return an error code.
3249             posix_fadvise(**fd, 0, 0, POSIX_FADV_DONTNEED);
3250         }
3251       } else {
3252         wbthrottle.queue_wb(fd, oid, offset, len,
3253             fadvise_flags & CEPH_OSD_OP_FLAG_FADVISE_DONTNEED);
3254       }

** CID 1355568:  Error handling issues  (CHECKED_RETURN)
/global/global_init.cc: 186 in global_init(std::vector<const char *, std::allocator<const char *>> *, std::vector<const char *, std::allocator<const char *>> &, unsigned int, code_environment_t, int, const char *, bool)()


________________________________________________________________________________________________________
*** CID 1355568:  Error handling issues  (CHECKED_RETURN)
/global/global_init.cc: 186 in global_init(std::vector<const char *, std::allocator<const char *>> *, std::vector<const char *, std::allocator<const char *>> &, unsigned int, code_environment_t, int, const char *, bool)()
180         if (g_conf->setgroup.length() > 0) {
181           gid = atoi(g_conf->setgroup.c_str());
182           if (!gid) {
183     	char buf[4096];
184     	struct group gr;
185     	struct group *g = 0;
>>>     CID 1355568:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "getgrnam_r(g_conf->setgroup.c_str(), &gr, buf, 4096UL, &g)" without checking return value. This library function may fail and return an error code.
186     	getgrnam_r(g_conf->setgroup.c_str(), &gr, buf, sizeof(buf), &g);
187     	if (!g) {
188     	  cerr << "unable to look up group '" << g_conf->setgroup << "'"
189     	       << std::endl;
190     	  exit(1);
191     	}

** CID 1355569:  Incorrect expression  (COPY_PASTE_ERROR)
/osd/OSDMap.cc: 3021 in OSDMap::summarize_mapping_stats(OSDMap*, const std::set<long, std::less<long>, std::allocator<long>> *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>*, ceph::Formatter *) const()


________________________________________________________________________________________________________
*** CID 1355569:  Incorrect expression  (COPY_PASTE_ERROR)
/osd/OSDMap.cc: 3021 in OSDMap::summarize_mapping_stats(OSDMap*, const std::set<long, std::less<long>, std::allocator<long>> *, std::basic_string<char, std::char_traits<char>, std::allocator<char>>*, ceph::Formatter *) const()
3015         if (f) {
3016           f->dump_unsigned("max_osd", max);
3017           f->dump_unsigned("max_osd_pgs", max_base_pg);
3018           if (newmap)
3019     	f->dump_unsigned("new_max_osd_pgs", max_new_pg);
3020         } else {
>>>     CID 1355569:  Incorrect expression  (COPY_PASTE_ERROR)
>>>     "min" in "(ss << "max osd.") << min" looks like a copy-paste error.
3021           ss << "max osd." << min << " with " << max_base_pg;
3022           if (newmap)
3023     	ss << " -> " << max_new_pg;
3024           ss << " pgs (" << (float)max_base_pg / avg_pg;
3025           if (newmap)
3026     	ss << " -> " << (float)max_new_pg / avg_pg;

** CID 1355570:  Security best practices violations  (DC.WEAK_CRYPTO)
/osd/OSD.h: 793 in OSDService::promote_throttle()()


________________________________________________________________________________________________________
*** CID 1355570:  Security best practices violations  (DC.WEAK_CRYPTO)
/osd/OSD.h: 793 in OSDService::promote_throttle()()
787       utime_t last_recalibrate;
788       unsigned long promote_max_objects, promote_max_bytes;
789     
790       bool promote_throttle() {
791         // NOTE: lockless!  we rely on the probability being a single word.
792         promote_counter.attempt();
>>>     CID 1355570:  Security best practices violations  (DC.WEAK_CRYPTO)
>>>     "rand" should not be used for security related applications, as linear congruential algorithms are too easy to break.
793         if ((unsigned)rand() % 1000 > promote_probability_millis.read())
794           return true;  // yes throttle (no promote)
795         if (promote_max_objects &&
796     	promote_counter.objects.read() > promote_max_objects)
797           return true;  // yes throttle
798         if (promote_max_bytes &&

** CID 1355571:  Control flow issues  (DEADCODE)
/mon/MDSMonitor.cc: 618 in MDSMonitor::prepare_beacon(std::shared_ptr<MonOpRequest>)()


________________________________________________________________________________________________________
*** CID 1355571:  Control flow issues  (DEADCODE)
/mon/MDSMonitor.cc: 618 in MDSMonitor::prepare_beacon(std::shared_ptr<MonOpRequest>)()
612           } else if (m->get_standby_for_rank() >= 0) {
613             // TODO get this from MDS message
614             // >>
615             fs_cluster_id_t target_ns = FS_CLUSTER_ID_NONE;
616             // <<
617     
>>>     CID 1355571:  Control flow issues  (DEADCODE)
>>>     Execution cannot reach the expression "info.standby_for_ns" inside this statement: "target_role.mds_role_t(((ta...".
618             mds_role_t target_role = {
619               target_ns == FS_CLUSTER_ID_NONE ?
620                 pending_fsmap.legacy_client_fscid : info.standby_for_ns,
621               m->get_standby_for_rank()};
622     
623             if (target_role.fscid != FS_CLUSTER_ID_NONE) {

** CID 1355572:    (INFINITE_LOOP)
/tools/cephfs/Resetter.cc: 57 in Resetter::reset(mds_role_t)()
/tools/cephfs/Resetter.cc: 95 in Resetter::reset(mds_role_t)()


________________________________________________________________________________________________________
*** CID 1355572:    (INFINITE_LOOP)
/tools/cephfs/Resetter.cc: 57 in Resetter::reset(mds_role_t)()
51     
52       lock.Lock();
53       journaler.recover(new C_SafeCond(&mylock, &cond, &done, &r));
54       lock.Unlock();
55     
56       mylock.Lock();
>>>     CID 1355572:    (INFINITE_LOOP)
>>>     If "done" is initially false then it will remain false.
57       while (!done)
58         cond.Wait(mylock);
59       mylock.Unlock();
60     
61       if (r != 0) {
62         if (r == -ENOENT) {
/tools/cephfs/Resetter.cc: 95 in Resetter::reset(mds_role_t)()
89     
90       cout << "writing journal head" << std::endl;
91       journaler.write_head(new C_SafeCond(&mylock, &cond, &done, &r));
92       lock.Unlock();
93     
94       mylock.Lock();
>>>     CID 1355572:    (INFINITE_LOOP)
>>>     If "done" is initially false then it will remain false.
95       while (!done)
96         cond.Wait(mylock);
97       mylock.Unlock();
98         
99       lock.Lock();
100       if (r != 0) {

** CID 1355573:  Concurrent data access violations  (MISSING_LOCK)
/tools/cephfs/MDSUtility.cc: 150 in MDSUtility::handle_mds_map(MFSMap *)()


________________________________________________________________________________________________________
*** CID 1355573:  Concurrent data access violations  (MISSING_LOCK)
/tools/cephfs/MDSUtility.cc: 150 in MDSUtility::handle_mds_map(MFSMap *)()
144     
145     void MDSUtility::handle_mds_map(MFSMap* m)
146     {
147       fsmap->decode(m->get_encoded());
148       if (waiting_for_mds_map) {
149         waiting_for_mds_map->complete(0);
>>>     CID 1355573:  Concurrent data access violations  (MISSING_LOCK)
>>>     Accessing "this->waiting_for_mds_map" without holding lock "Mutex._m". Elsewhere, "MDSUtility.waiting_for_mds_map" is accessed with "Mutex._m" held 1 out of 2 times (1 of these accesses strongly imply that it is necessary).
150         waiting_for_mds_map = NULL;
151       }
152     }
153     
154     
155     bool MDSUtility::ms_get_authorizer(int dest_type, AuthAuthorizer **authorizer,

** CID 1355574:  Error handling issues  (NEGATIVE_RETURNS)
/log/Log.cc: 144 in ceph::log::Log::reopen_log_file()()


________________________________________________________________________________________________________
*** CID 1355574:  Error handling issues  (NEGATIVE_RETURNS)
/log/Log.cc: 144 in ceph::log::Log::reopen_log_file()()
138       m_flush_mutex_holder = pthread_self();
139       if (m_fd >= 0)
140         VOID_TEMP_FAILURE_RETRY(::close(m_fd));
141       if (m_log_file.length()) {
142         m_fd = ::open(m_log_file.c_str(), O_CREAT|O_WRONLY|O_APPEND, 0644);
143         if (m_uid || m_gid) {
>>>     CID 1355574:  Error handling issues  (NEGATIVE_RETURNS)
>>>     "this->m_fd" is passed to a parameter that cannot be negative.
144           int r = ::fchown(m_fd, m_uid, m_gid);
145           if (r < 0) {
146     	r = -errno;
147     	cerr << "failed to chown " << m_log_file << ": " << cpp_strerror(r)
148     	     << std::endl;
149           }

** CID 1355575:  Null pointer dereferences  (NULL_RETURNS)
/mds/ScrubStack.cc: 148 in ScrubStack::scrub_dir_inode(CInode *, bool *, bool *, bool *)()


________________________________________________________________________________________________________
*** CID 1355575:  Null pointer dereferences  (NULL_RETURNS)
/mds/ScrubStack.cc: 148 in ScrubStack::scrub_dir_inode(CInode *, bool *, bool *, bool *)()
142         dout(20) << __func__ << " iterating over " << scrubbing_frags.size()
143           << " scrubbing frags" << dendl;
144         for (list<frag_t>::iterator i = scrubbing_frags.begin();
145     	i != scrubbing_frags.end();
146     	++i) {
147           // turn frags into CDir *
>>>     CID 1355575:  Null pointer dereferences  (NULL_RETURNS)
>>>     Assigning: "dir" = null return value from "get_dirfrag".
148           CDir *dir = in->get_dirfrag(*i);
149           scrubbing_cdirs.push_back(dir);
150           dout(25) << __func__ << " got CDir " << *dir << " presently scrubbing" << dendl;
151         }
152     
153     

** CID 1355576:  Memory - corruptions  (OVERRUN)


________________________________________________________________________________________________________
*** CID 1355576:  Memory - corruptions  (OVERRUN)
/mds/FSMap.cc: 216 in FSMap::encode(ceph::buffer::list &, unsigned long) const()
210         fs->mds_map.get_health(summary, detail);
211       }
212     }
213     
214     void FSMap::encode(bufferlist& bl, uint64_t features) const
215     {
>>>     CID 1355576:  Memory - corruptions  (OVERRUN)
>>>     Overrunning struct type ceph_le32 of 4 bytes by passing it to a function which accesses it at byte offset 7.
216       ENCODE_START(6, 6, bl);
217       ::encode(epoch, bl);
218       ::encode(next_filesystem_id, bl);
219       ::encode(legacy_client_fscid, bl);
220       ::encode(compat, bl);
221       ::encode(enable_multiple, bl);

** CID 1355577:  Memory - corruptions  (OVERRUN)


________________________________________________________________________________________________________
*** CID 1355577:  Memory - corruptions  (OVERRUN)
/mds/FSMap.cc: 363 in Filesystem::encode(ceph::buffer::list &) const()
357       DECODE_FINISH(p);
358     }
359     
360     
361     void Filesystem::encode(bufferlist& bl) const
362     {
>>>     CID 1355577:  Memory - corruptions  (OVERRUN)
>>>     Overrunning struct type ceph_le32 of 4 bytes by passing it to a function which accesses it at byte offset 7.
363       ENCODE_START(1, 1, bl);
364       ::encode(fscid, bl);
365       bufferlist mdsmap_bl;
366       mds_map.encode(mdsmap_bl, CEPH_FEATURE_PGID64 | CEPH_FEATURE_MDSENC);
367       ::encode(mdsmap_bl, bl);
368       ENCODE_FINISH(bl);

** CID 1355578:  Performance inefficiencies  (PASS_BY_VALUE)
/mds/FSMap.h: 339 in FSMap::update_compat(CompatSet)()


________________________________________________________________________________________________________
*** CID 1355578:  Performance inefficiencies  (PASS_BY_VALUE)
/mds/FSMap.h: 339 in FSMap::update_compat(CompatSet)()
333     
334       /**
335        * A daemon has told us it's compat, and it's too new
336        * for the one we had previously.  Impose the new one
337        * on all filesystems.
338        */
>>>     CID 1355578:  Performance inefficiencies  (PASS_BY_VALUE)
>>>     Passing parameter c of type "CompatSet" (size 168 bytes) by value.
339       void update_compat(CompatSet c)
340       {
341         // We could do something more complicated here to enable
342         // different filesystems to be served by different MDS versions,
343         // but this is a lot simpler because it doesn't require us to
344         // track the compat versions for standby daemons.

** CID 1355579:    (RESOURCE_LEAK)
/test/libcephfs/test.cc: 1342 in LibCephFS_OpenNoClose_Test::TestBody()()
/test/libcephfs/test.cc: 1338 in LibCephFS_OpenNoClose_Test::TestBody()()
/test/libcephfs/test.cc: 1335 in LibCephFS_OpenNoClose_Test::TestBody()()
/test/libcephfs/test.cc: 1330 in LibCephFS_OpenNoClose_Test::TestBody()()
/test/libcephfs/test.cc: 1329 in LibCephFS_OpenNoClose_Test::TestBody()()
/test/libcephfs/test.cc: 1328 in LibCephFS_OpenNoClose_Test::TestBody()()
/test/libcephfs/test.cc: 1327 in LibCephFS_OpenNoClose_Test::TestBody()()


________________________________________________________________________________________________________
*** CID 1355579:    (RESOURCE_LEAK)
/test/libcephfs/test.cc: 1342 in LibCephFS_OpenNoClose_Test::TestBody()()
1336     
1337       struct ceph_dir_result *ls_dir = NULL;
1338       ASSERT_EQ(ceph_opendir(cmount, str_buf, &ls_dir), 0);
1339     
1340       sprintf(str_buf, "open_no_close_file%d", mypid);
1341       int fd = ceph_open(cmount, str_buf, O_RDONLY|O_CREAT, 0666);
>>>     CID 1355579:    (RESOURCE_LEAK)
>>>     Variable "cmount" going out of scope leaks the storage it points to.
1342       ASSERT_LT(0, fd);
1343     
1344       // shutdown should force close opened file/dir
1345       ceph_shutdown(cmount);
/test/libcephfs/test.cc: 1338 in LibCephFS_OpenNoClose_Test::TestBody()()
1332       pid_t mypid = getpid();
1333       char str_buf[256];
1334       sprintf(str_buf, "open_no_close_dir%d", mypid);
1335       ASSERT_EQ(0, ceph_mkdirs(cmount, str_buf, 0777));
1336     
1337       struct ceph_dir_result *ls_dir = NULL;
>>>     CID 1355579:    (RESOURCE_LEAK)
>>>     Variable "cmount" going out of scope leaks the storage it points to.
1338       ASSERT_EQ(ceph_opendir(cmount, str_buf, &ls_dir), 0);
1339     
1340       sprintf(str_buf, "open_no_close_file%d", mypid);
1341       int fd = ceph_open(cmount, str_buf, O_RDONLY|O_CREAT, 0666);
1342       ASSERT_LT(0, fd);
1343     
1344       // shutdown should force close opened file/dir
1345       ceph_shutdown(cmount);
/test/libcephfs/test.cc: 1335 in LibCephFS_OpenNoClose_Test::TestBody()()
1329       ASSERT_EQ(0, ceph_conf_parse_env(cmount, NULL));
1330       ASSERT_EQ(ceph_mount(cmount, "/"), 0);
1331     
1332       pid_t mypid = getpid();
1333       char str_buf[256];
1334       sprintf(str_buf, "open_no_close_dir%d", mypid);
>>>     CID 1355579:    (RESOURCE_LEAK)
>>>     Variable "cmount" going out of scope leaks the storage it points to.
1335       ASSERT_EQ(0, ceph_mkdirs(cmount, str_buf, 0777));
1336     
1337       struct ceph_dir_result *ls_dir = NULL;
1338       ASSERT_EQ(ceph_opendir(cmount, str_buf, &ls_dir), 0);
1339     
1340       sprintf(str_buf, "open_no_close_file%d", mypid);
/test/libcephfs/test.cc: 1330 in LibCephFS_OpenNoClose_Test::TestBody()()
1324     
1325     TEST(LibCephFS, OpenNoClose) {
1326       struct ceph_mount_info *cmount;
1327       ASSERT_EQ(ceph_create(&cmount, NULL), 0);
1328       ASSERT_EQ(ceph_conf_read_file(cmount, NULL), 0);
1329       ASSERT_EQ(0, ceph_conf_parse_env(cmount, NULL));
>>>     CID 1355579:    (RESOURCE_LEAK)
>>>     Variable "cmount" going out of scope leaks the storage it points to.
1330       ASSERT_EQ(ceph_mount(cmount, "/"), 0);
1331     
1332       pid_t mypid = getpid();
1333       char str_buf[256];
1334       sprintf(str_buf, "open_no_close_dir%d", mypid);
1335       ASSERT_EQ(0, ceph_mkdirs(cmount, str_buf, 0777));
/test/libcephfs/test.cc: 1329 in LibCephFS_OpenNoClose_Test::TestBody()()
1323     }
1324     
1325     TEST(LibCephFS, OpenNoClose) {
1326       struct ceph_mount_info *cmount;
1327       ASSERT_EQ(ceph_create(&cmount, NULL), 0);
1328       ASSERT_EQ(ceph_conf_read_file(cmount, NULL), 0);
>>>     CID 1355579:    (RESOURCE_LEAK)
>>>     Variable "cmount" going out of scope leaks the storage it points to.
1329       ASSERT_EQ(0, ceph_conf_parse_env(cmount, NULL));
1330       ASSERT_EQ(ceph_mount(cmount, "/"), 0);
1331     
1332       pid_t mypid = getpid();
1333       char str_buf[256];
1334       sprintf(str_buf, "open_no_close_dir%d", mypid);
/test/libcephfs/test.cc: 1328 in LibCephFS_OpenNoClose_Test::TestBody()()
1322       ceph_shutdown(cmount);
1323     }
1324     
1325     TEST(LibCephFS, OpenNoClose) {
1326       struct ceph_mount_info *cmount;
1327       ASSERT_EQ(ceph_create(&cmount, NULL), 0);
>>>     CID 1355579:    (RESOURCE_LEAK)
>>>     Variable "cmount" going out of scope leaks the storage it points to.
1328       ASSERT_EQ(ceph_conf_read_file(cmount, NULL), 0);
1329       ASSERT_EQ(0, ceph_conf_parse_env(cmount, NULL));
1330       ASSERT_EQ(ceph_mount(cmount, "/"), 0);
1331     
1332       pid_t mypid = getpid();
1333       char str_buf[256];
/test/libcephfs/test.cc: 1327 in LibCephFS_OpenNoClose_Test::TestBody()()
1321     
1322       ceph_shutdown(cmount);
1323     }
1324     
1325     TEST(LibCephFS, OpenNoClose) {
1326       struct ceph_mount_info *cmount;
>>>     CID 1355579:    (RESOURCE_LEAK)
>>>     Variable "cmount" going out of scope leaks the storage it points to.
1327       ASSERT_EQ(ceph_create(&cmount, NULL), 0);
1328       ASSERT_EQ(ceph_conf_read_file(cmount, NULL), 0);
1329       ASSERT_EQ(0, ceph_conf_parse_env(cmount, NULL));
1330       ASSERT_EQ(ceph_mount(cmount, "/"), 0);
1331     
1332       pid_t mypid = getpid();

** CID 1355580:  Resource leaks  (RESOURCE_LEAK)
/global/global_init.cc: 286 in global_init(std::vector<const char *, std::allocator<const char *>> *, std::vector<const char *, std::allocator<const char *>> &, unsigned int, code_environment_t, int, const char *, bool)()


________________________________________________________________________________________________________
*** CID 1355580:  Resource leaks  (RESOURCE_LEAK)
/global/global_init.cc: 286 in global_init(std::vector<const char *, std::allocator<const char *>> *, std::vector<const char *, std::allocator<const char *>> &, unsigned int, code_environment_t, int, const char *, bool)()
280       // test leak checking
281       if (g_conf->debug_deliberately_leak_memory) {
282         derr << "deliberately leaking some memory" << dendl;
283         char *s = new char[1234567];
284         (void)s;
285         // cppcheck-suppress memleak
>>>     CID 1355580:  Resource leaks  (RESOURCE_LEAK)
>>>     Variable "s" going out of scope leaks the storage it points to.
286       }
287     
288       if (code_env == CODE_ENVIRONMENT_DAEMON && !(flags & CINIT_FLAG_NO_DAEMON_ACTIONS))
289         output_ceph_version();
290     }
291     

** CID 1355581:  Uninitialized members  (UNINIT_CTOR)
/rgw/rgw_sync.h: 433 in RGWShardCollectCR::RGWShardCollectCR(CephContext *, int)()


________________________________________________________________________________________________________
*** CID 1355581:  Uninitialized members  (UNINIT_CTOR)
/rgw/rgw_sync.h: 433 in RGWShardCollectCR::RGWShardCollectCR(CephContext *, int)()
427       int status;
428     
429     public:
430       RGWShardCollectCR(CephContext *_cct, int _max_concurrent) : RGWCoroutine(_cct),
431                                                                  current_running(0),
432                                                                  max_concurrent(_max_concurrent),
>>>     CID 1355581:  Uninitialized members  (UNINIT_CTOR)
>>>     Non-static class member "cur_shard" is not initialized in this constructor nor in any functions that it calls.
433                                                                  status(0) {}
434     
435       virtual bool spawn_next() = 0;
436       int operate();
437     };
438     
439     


________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://scan.coverity.com/projects/ceph?tab=overview

To manage Coverity Scan email notifications for "ceph-devel@vger.kernel.org", click https://scan.coverity.com/subscriptions/edit?email=ceph-devel%40vger.kernel.org&token=018084d671e3cc89d00dd2ccb7eb849c


             reply	other threads:[~2016-03-12 18:05 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-12 18:04 scan-admin [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-08-20 12:22 New Defects reported by Coverity Scan for ceph scan-admin
2022-08-20 13:17 ` Jeff Layton
2022-08-22  3:54   ` Brad Hubbard
2022-08-23 12:52     ` Jeff Layton
2018-01-04  3:32 scan-admin
2017-12-28  1:57 scan-admin
2017-12-21  1:54 scan-admin
2017-12-21  3:34 ` Jos Collin
2017-12-21  4:03   ` Brad Hubbard
2017-12-14  6:49 scan-admin
2017-12-01  2:25 scan-admin
2017-11-23  0:19 scan-admin
2017-11-16 11:35 scan-admin
2017-11-09 11:36 scan-admin
2017-11-02  2:11 scan-admin
2017-10-27  0:31 scan-admin
2017-10-19  3:54 scan-admin
2017-10-12  5:54 scan-admin
2017-10-05  5:08 scan-admin
2017-09-28  5:09 scan-admin
2017-09-21  6:44 scan-admin
2017-09-14  7:19 scan-admin
2017-09-07  5:08 scan-admin
2017-08-31  6:39 scan-admin
2017-08-24 23:32 scan-admin
2017-08-17  3:29 scan-admin
2017-08-10  3:50 scan-admin
2017-08-03  4:57 scan-admin
2017-07-27  3:50 scan-admin
2017-07-28 18:42 ` Gregory Farnum
2017-07-28 22:22   ` Brad Hubbard
2017-07-20  4:08 scan-admin
2017-07-13  5:11 scan-admin
2017-07-06  5:03 scan-admin
2017-06-29  4:08 scan-admin
2017-06-22  4:27 scan-admin
2017-06-15  9:50 scan-admin
2017-06-11 23:46 scan-admin
2017-06-01  4:33 scan-admin
2017-05-25  6:22 scan-admin
2017-05-18  1:44 scan-admin
2017-05-11  5:32 scan-admin
2017-05-04  2:45 scan-admin
2017-04-27  2:22 scan-admin
2017-04-20  5:34 scan-admin
2017-04-13  6:25 scan-admin
2017-04-06  9:40 scan-admin
2017-03-31  1:25 scan-admin
2017-03-23  7:58 scan-admin
2017-03-16  7:37 scan-admin
2017-03-09  6:12 scan-admin
2017-03-02  7:44 scan-admin
2017-02-23  9:09 scan-admin
2017-02-17  2:29 scan-admin
     [not found] ` <CAJE9aOMoxWjhq=g+25hfhMhxSCnHAOwAyNhXvkxS1wwBEd3j+A@mail.gmail.com>
2017-02-17  5:19   ` kefu chai
2017-02-05 10:08 scan-admin
2017-01-27 13:22 scan-admin
2017-01-17  3:01 scan-admin
2017-01-09 10:05 scan-admin
2016-12-30  8:33 scan-admin
2016-12-23  9:16 scan-admin
2016-12-16  8:54 scan-admin
2016-12-09 11:29 scan-admin
2016-12-02 11:08 scan-admin
2016-11-25  7:55 scan-admin
2016-03-19 17:58 scan-admin
2016-03-13 17:40 scan-admin
2016-03-05 17:55 scan-admin
2016-03-07 20:59 ` Gregory Farnum
2016-02-27 18:07 scan-admin
2016-02-20 18:26 scan-admin
2016-02-18 20:32 scan-admin
2016-02-13 17:47 scan-admin
2016-02-11 17:57 scan-admin
2016-02-11 22:01 ` Gregory Farnum
2016-02-12 16:36   ` Adam C. Emerson
2016-02-04 20:39 scan-admin
2016-02-03 20:40 scan-admin
2015-05-02 14:37 scan-admin
2015-01-21  1:41 scan-admin
2015-01-16 14:39 scan-admin
2015-01-16 15:17 ` Gregory Farnum
2015-01-16 16:00   ` John Spray
2015-01-16 16:08   ` Sage Weil
     [not found] <54b528bef1f63_1b74f3532c63410@scan.coverity.com.mail>
2015-01-13 14:34 ` Sage Weil
2015-01-13 14:16 scan-admin
2015-01-10 14:36 scan-admin
2015-01-10 15:48 ` Haomai Wang
2015-01-09 14:30 scan-admin
2015-01-09 15:26 ` Sage Weil
2015-01-09 15:32   ` Danny Al-Gaaf
2015-01-04 14:14 scan-admin
2014-12-27 14:13 scan-admin
2014-12-28  6:03 ` Sage Weil
2014-12-26 14:19 scan-admin
2014-12-23 14:37 scan-admin
2014-12-21 14:13 scan-admin
2014-12-18 14:19 scan-admin
2014-12-14 14:17 scan-admin
2014-12-07 20:36 scan-admin
2014-12-05 14:11 scan-admin
2014-12-02 14:09 scan-admin
2014-11-25 14:09 scan-admin
2014-11-23 14:08 scan-admin
2014-11-20 14:20 scan-admin
2014-11-14 14:21 scan-admin
2014-11-13 14:21 scan-admin
2014-11-11 20:40 scan-admin
2014-11-09 14:12 scan-admin
2014-10-30 13:19 scan-admin
2014-10-30 16:08 ` Sage Weil
2014-10-28 13:16 scan-admin
2014-10-28 18:26 ` Danny Al-Gaaf
2014-10-26 13:17 scan-admin
2014-10-24 17:55 scan-admin
2014-10-24 17:59 ` Sage Weil
2014-10-17 13:27 scan-admin
2014-10-09 13:23 scan-admin
2014-10-02 13:21 scan-admin
2014-09-25 13:18 scan-admin
2014-09-16 21:40 scan-admin
2014-08-16 21:31 scan-admin
2014-08-09 15:30 scan-admin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56e45a4378cef_92cabd3309444b@ss1435.mail \
    --to=scan-admin@coverity.com \
    --cc=ceph-devel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox