[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] missing lock in percpu_rwlock? (Was: Re: New Defects reported by Coverity Scan for XenProject)
On 03/02/16 10:45, Ian Campbell wrote: > On Tue, 2016-02-02 at 20:23 -0800, scan-admin@xxxxxxxxxxxx wrote: >> * CID 1351223: Concurrent data access violations (MISSING_LOCK) >> /xen/include/xen/spinlock.h: 362 in _percpu_write_unlock() > Coverity seems to think this is new in 41b0aa569adb..9937763265d, > presumably due to > > commit f9dd43dddc0a31a4343a58072935c1b5c0cbbee > Author: Malcolm Crossley <malcolm.crossley@xxxxxxxxxx> > Date: Fri Jan 22 16:04:41 2016 +0100 > > rwlock: add per-cpu reader-writer lock infrastructure Expected behaviour. writer_activating is expected to only be written under lock, but read without lock. ~Andrew > >> _________________________________________________________________________ >> _______________________________ >> *** CID 1351223: Concurrent data access violations (MISSING_LOCK) >> /xen/include/xen/spinlock.h: 362 in _percpu_write_unlock() >> 356 percpu_rwlock_t *percpu_rwlock) >> 357 { >> 358 /* Validate the correct per_cpudata variable has been >> provided. */ >> 359 _percpu_rwlock_owner_check(per_cpudata, percpu_rwlock); >> 360 >> 361 ASSERT(percpu_rwlock->writer_activating); >>>>> CID 1351223: Concurrent data access violations (MISSING_LOCK) >>>>> Accessing "percpu_rwlock->writer_activating" without holding lock >> "percpu_rwlock.rwlock". Elsewhere, "percpu_rwlock.writer_activating" is >> accessed with "percpu_rwlock.rwlock" held 1 out of 2 times (1 of these >> accesses strongly imply that it is necessary). >> 362 percpu_rwlock->writer_activating = 0; >> 363 write_unlock(&percpu_rwlock->rwlock); >> 364 } >> 365 >> 366 #define percpu_rw_is_write_locked(l) >> _rw_is_write_locked(&((l)->rwlock)) >> 367 > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |