All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net 1/2 RESEND] ipmr: Fix RCU list debugging warning
@ 2020-05-09  7:22 ` Amol Grover
  0 siblings, 0 replies; 18+ messages in thread
From: Amol Grover @ 2020-05-09  7:22 UTC (permalink / raw)
  To: David S . Miller, Alexey Kuznetsov, Hideaki YOSHIFUJI, Jakub Kicinski
  Cc: netdev, linux-kernel, linux-kernel-mentees, Joel Fernandes,
	Madhuparna Bhowmik, Paul E . McKenney, Amol Grover

ipmr_for_each_table() macro uses list_for_each_entry_rcu()
for traversing outside of an RCU read side critical section
but under the protection of rtnl_mutex. Hence, add the
corresponding lockdep expression to silence the following
false-positive warning at boot:

[    4.319347] =============================
[    4.319349] WARNING: suspicious RCU usage
[    4.319351] 5.5.4-stable #17 Tainted: G            E
[    4.319352] -----------------------------
[    4.319354] net/ipv4/ipmr.c:1757 RCU-list traversed in non-reader section!!

Signed-off-by: Amol Grover <frextrite@gmail.com>
---
 net/ipv4/ipmr.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c
index 6e68def66822..99c864eb6e34 100644
--- a/net/ipv4/ipmr.c
+++ b/net/ipv4/ipmr.c
@@ -110,7 +110,8 @@ static void ipmr_expire_process(struct timer_list *t);
 
 #ifdef CONFIG_IP_MROUTE_MULTIPLE_TABLES
 #define ipmr_for_each_table(mrt, net) \
-	list_for_each_entry_rcu(mrt, &net->ipv4.mr_tables, list)
+	list_for_each_entry_rcu(mrt, &net->ipv4.mr_tables, list, \
+				lockdep_rtnl_is_held())
 
 static struct mr_table *ipmr_mr_table_iter(struct net *net,
 					   struct mr_table *mrt)
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2020-05-13 11:54 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-09  7:22 [PATCH net 1/2 RESEND] ipmr: Fix RCU list debugging warning Amol Grover
2020-05-09  7:22 ` [Linux-kernel-mentees] " Amol Grover
2020-05-09  7:22 ` [PATCH net 2/2 RESEND] ipmr: Add lockdep expression to ipmr_for_each_table macro Amol Grover
2020-05-09  7:22   ` [Linux-kernel-mentees] " Amol Grover
2020-05-09 21:19   ` Jakub Kicinski
2020-05-09 21:19     ` [Linux-kernel-mentees] " Jakub Kicinski
2020-05-12  5:17     ` Madhuparna Bhowmik
2020-05-12  5:17       ` [Linux-kernel-mentees] " Madhuparna Bhowmik
2020-05-12 16:32       ` Jakub Kicinski
2020-05-12 16:32         ` [Linux-kernel-mentees] " Jakub Kicinski
2020-05-13  5:34         ` Madhuparna Bhowmik
2020-05-13  5:34           ` [Linux-kernel-mentees] " Madhuparna Bhowmik
2020-05-12 17:17       ` Amol Grover
2020-05-12 17:17         ` [Linux-kernel-mentees] " Amol Grover
2020-05-12 21:59         ` Jakub Kicinski
2020-05-12 21:59           ` [Linux-kernel-mentees] " Jakub Kicinski
2020-05-13 11:54       ` Stephen Rothwell
2020-05-13 11:54         ` [Linux-kernel-mentees] " Stephen Rothwell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.