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 > >