Message ID | 20200222165726.9330-1-frextrite@gmail.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | ip6mr: Fix RCU list debugging warning | expand |
From: Amol Grover <frextrite@gmail.com> Date: Sat, 22 Feb 2020 22:27:27 +0530 > ip6mr_for_each_table() macro uses list_for_each_entry_rcu() > for traversing outside 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 warnings: > > [ 4.319479] ============================= > [ 4.319480] WARNING: suspicious RCU usage > [ 4.319482] 5.5.4-stable #17 Tainted: G E > [ 4.319483] ----------------------------- > [ 4.319485] net/ipv6/ip6mr.c:1243 RCU-list traversed in non-reader section!! > > [ 4.456831] ============================= > [ 4.456832] WARNING: suspicious RCU usage > [ 4.456834] 5.5.4-stable #17 Tainted: G E > [ 4.456835] ----------------------------- > [ 4.456837] net/ipv6/ip6mr.c:1582 RCU-list traversed in non-reader section!! > > Signed-off-by: Amol Grover <frextrite@gmail.com> Applied, thanks.
diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c index bfa49ff70531..d6483926f449 100644 --- a/net/ipv6/ip6mr.c +++ b/net/ipv6/ip6mr.c @@ -97,7 +97,8 @@ static void ipmr_expire_process(struct timer_list *t); #ifdef CONFIG_IPV6_MROUTE_MULTIPLE_TABLES #define ip6mr_for_each_table(mrt, net) \ - list_for_each_entry_rcu(mrt, &net->ipv6.mr6_tables, list) + list_for_each_entry_rcu(mrt, &net->ipv6.mr6_tables, list, \ + lockdep_rtnl_is_held()) static struct mr_table *ip6mr_mr_table_iter(struct net *net, struct mr_table *mrt)
ip6mr_for_each_table() macro uses list_for_each_entry_rcu() for traversing outside 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 warnings: [ 4.319479] ============================= [ 4.319480] WARNING: suspicious RCU usage [ 4.319482] 5.5.4-stable #17 Tainted: G E [ 4.319483] ----------------------------- [ 4.319485] net/ipv6/ip6mr.c:1243 RCU-list traversed in non-reader section!! [ 4.456831] ============================= [ 4.456832] WARNING: suspicious RCU usage [ 4.456834] 5.5.4-stable #17 Tainted: G E [ 4.456835] ----------------------------- [ 4.456837] net/ipv6/ip6mr.c:1582 RCU-list traversed in non-reader section!! Signed-off-by: Amol Grover <frextrite@gmail.com> --- net/ipv6/ip6mr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)