On Tue, Sep 30, 2014 at 6:59 AM, Sage Weil <sweil@xxxxxxxxxx> wrote: > Looks like recent changes from Greg, Loic, and I. > > ---------- Forwarded message ---------- > From: scan-admin@xxxxxxxxxxxx > To: undisclosed-recipients:; > Cc: > Date: Tue, 30 Sep 2014 06:21:08 -0700 > Subject: New Defects reported by Coverity Scan for ceph > > > Hi, > > > Please find the latest report on new defect(s) introduced to ceph found with Coverity Scan. > > Defect(s) Reported-by: Coverity Scan > Showing 4 of 4 defect(s) > > > ** CID 1242019: Data race condition (MISSING_LOCK) > /msg/Pipe.cc: 230 in Pipe::DelayedDelivery::entry()() > > ** CID 1242021: Resource leak (RESOURCE_LEAK) > /test/librados/tier.cc: 1026 in LibRadosTwoPoolsPP_EvictSnap2_Test::TestBody()() > /test/librados/tier.cc: 1022 in LibRadosTwoPoolsPP_EvictSnap2_Test::TestBody()() > /test/librados/tier.cc: 1040 in LibRadosTwoPoolsPP_EvictSnap2_Test::TestBody()() > /test/librados/tier.cc: 1037 in LibRadosTwoPoolsPP_EvictSnap2_Test::TestBody()() > > ** CID 1242020: Resource leak (RESOURCE_LEAK) > /test/librados/aio.cc: 168 in LibRadosAio_TooBig_Test::TestBody()() > > ** CID 1242018: Resource leak (RESOURCE_LEAK) > /test/librados/aio.cc: 188 in LibRadosAio_TooBigPP_Test::TestBody()() > /test/librados/aio.cc: 190 in LibRadosAio_TooBigPP_Test::TestBody()() > /test/librados/aio.cc: 187 in LibRadosAio_TooBigPP_Test::TestBody()() > > > ________________________________________________________________________________________________________ > *** CID 1242019: Data race condition (MISSING_LOCK) > /msg/Pipe.cc: 230 in Pipe::DelayedDelivery::entry()() > 224 if (flush_count > 0) { > 225 --flush_count; > 226 active_flush = true; > 227 } > 228 if (pipe->in_q->can_fast_dispatch(m)) { > 229 if (!stop_fast_dispatching_flag) { >>>> CID 1242019: Data race condition (MISSING_LOCK) >>>> Accessing "this->delay_dispatching" without holding lock "Mutex._m". Elsewhere, "_ZN4Pipe15DelayedDeliveryE.delay_dispatching" is accessed with "Mutex._m" held 1 out of 2 times (1 of these accesses strongly imply that it is necessary). > 230 delay_dispatching = true; > 231 delay_lock.Unlock(); > 232 pipe->in_q->fast_dispatch(m); > 233 delay_lock.Lock(); > 234 delay_dispatching = false; > 235 if (stop_fast_dispatching_flag) { This one's a false positive. (delay_dispatching is protected by the delay_lock, but I think it's picking up on the Pipe::lock which is held when DelayedDelivery is constructed and initialized.) Is there a way I should annotate this, or is it something we need to adjust in the Coverity web interface? -Greg -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html