Messages in this thread | | | Date | Sat, 28 Dec 2019 14:15:18 -0600 | From | Eric Biggers <> | Subject | Re: [PATCH] locking/refcount: add sparse annotations to dec-and-lock functions |
| |
On Sat, Dec 28, 2019 at 12:49:18PM +0100, Peter Zijlstra wrote: > On Thu, Dec 26, 2019 at 09:29:22AM -0600, Eric Biggers wrote: > > From: Eric Biggers <ebiggers@google.com> > > > > Wrap refcount_dec_and_lock() and refcount_dec_and_lock_irqsave() with > > macros using __cond_lock() so that 'sparse' doesn't report warnings > > about unbalanced locking when using them. > > > > This is the same thing that's done for their atomic_t equivalents. > > > > Don't annotate refcount_dec_and_mutex_lock(), because mutexes don't > > currently have sparse annotations. > > I so f'ing hate that __cond_lock() crap. Previously I've suggested > fixing sparse instead of making such an atrocious trainwreck of the > code.
What is your suggestion exactly? There has to be an annotation for this, because by design sparse only analyzes individual translation units; it's not a full-blown static analyzer that operates on the AST for the whole kernel.
- Eric
| |