rcu: Add missing __releases() annotation
authorJules Irenge <jbi.octave@gmail.com>
Wed, 28 Apr 2021 23:12:19 +0000 (00:12 +0100)
committerPaul E. McKenney <paulmck@kernel.org>
Thu, 13 May 2021 16:13:23 +0000 (09:13 -0700)
Sparse reports a warning at rcu_print_task_stall():

"warning: context imbalance in rcu_print_task_stall - unexpected unlock"

The root cause is a missing annotation on rcu_print_task_stall().

This commit therefore adds the missing __releases(rnp->lock) annotation.

Signed-off-by: Jules Irenge <jbi.octave@gmail.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/rcu/tree_stall.h

index e6bd518..ffb8cf6 100644 (file)
@@ -314,6 +314,7 @@ static void rcu_print_detail_task_stall_rnp(struct rcu_node *rnp)
  * tasks blocked within RCU read-side critical sections.
  */
 static int rcu_print_task_stall(struct rcu_node *rnp, unsigned long flags)
+       __releases(rnp->lock)
 {
        raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
        return 0;