Re: [PATCH 2/2] rcu/nocb: Add missing annotation for rcu_nocb_bypass_unlock()

From: Paul E. McKenney
Date: Thu Jan 30 2020 - 23:42:30 EST


On Fri, Jan 31, 2020 at 08:59:52AM +0800, Boqun Feng wrote:
> On Thu, Jan 30, 2020 at 12:30:09AM +0000, Jules Irenge wrote:
> > Sparse reports warning at rcu_nocb_bypass_unlock()
> >
> > warning: context imbalance in rcu_nocb_bypass_unlock() - unexpected unlock
> >
> > The root cause is a missing annotation of rcu_nocb_bypass_unlock()
> > which causes the warning.
> >
> > Add the missing __releases(&rdp->nocb_bypass_lock) annotation.
> >
> > Signed-off-by: Jules Irenge <jbi.octave@xxxxxxxxx>
>
> Acked-by: Boqun Feng <boqun.feng@xxxxxxxxx>

Applied, thank you both!

Thanx, Paul

> > ---
> > kernel/rcu/tree_plugin.h | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
> > index 9d21cb07d57c..8783d19a58b2 100644
> > --- a/kernel/rcu/tree_plugin.h
> > +++ b/kernel/rcu/tree_plugin.h
> > @@ -1553,6 +1553,7 @@ static bool rcu_nocb_bypass_trylock(struct rcu_data *rdp)
> > * Release the specified rcu_data structure's ->nocb_bypass_lock.
> > */
> > static void rcu_nocb_bypass_unlock(struct rcu_data *rdp)
> > + __releases(&rdp->nocb_bypass_lock)
> > {
> > lockdep_assert_irqs_disabled();
> > raw_spin_unlock(&rdp->nocb_bypass_lock);
> > --
> > 2.24.1
> >