[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] missing lock in percpu_rwlock? (Was: Re: New Defects reported by Coverity Scan for XenProject)



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

> _________________________________________________________________________
> _______________________________
> *** 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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.