[tip: core/rcu] rcu: Add missing __releases() annotation

From: tip-bot2 for Jules Irenge
Date: Wed Jun 30 2021 - 09:47:38 EST


The following commit has been merged into the core/rcu branch of tip:

Commit-ID: c70360c3343f975bd066b6b98159d93f1bd4219f
Gitweb: https://git.kernel.org/tip/c70360c3343f975bd066b6b98159d93f1bd4219f
Author: Jules Irenge <jbi.octave@xxxxxxxxx>
AuthorDate: Thu, 29 Apr 2021 00:12:19 +01:00
Committer: Paul E. McKenney <paulmck@xxxxxxxxxx>
CommitterDate: Thu, 13 May 2021 09:13:23 -07:00

rcu: Add missing __releases() annotation

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@xxxxxxxxx>
Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx>
---
kernel/rcu/tree_stall.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/kernel/rcu/tree_stall.h b/kernel/rcu/tree_stall.h
index e6bd518..ffb8cf6 100644
--- a/kernel/rcu/tree_stall.h
+++ b/kernel/rcu/tree_stall.h
@@ -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;