Message ID | 20200513061610.22313-1-madhuparnabhowmik10@gmail.com |
---|---|
State | Changes Requested |
Delegated to: | David Miller |
Headers | show |
Series | Fix suspicious RCU usage warning | expand |
Hi all, On Wed, 13 May 2020 11:46:10 +0530 madhuparnabhowmik10@gmail.com wrote: > > From: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com> > > This patch fixes the following warning: > > ============================= > WARNING: suspicious RCU usage > 5.7.0-rc4-next-20200507-syzkaller #0 Not tainted > ----------------------------- > net/ipv6/ip6mr.c:124 RCU-list traversed in non-reader section!! > > ipmr_new_table() returns an existing table, but there is no table at > init. Therefore the condition: either holding rtnl or the list is empty > is used. > > Suggested-by: Jakub Kicinski <kuba@kernel.org> > Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com> Thanks. Added to my fixes tree from tomorrow (until it turns up elsewhere).
From: madhuparnabhowmik10@gmail.com Date: Wed, 13 May 2020 11:46:10 +0530 > From: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com> > > This patch fixes the following warning: > > ============================= > WARNING: suspicious RCU usage > 5.7.0-rc4-next-20200507-syzkaller #0 Not tainted > ----------------------------- > net/ipv6/ip6mr.c:124 RCU-list traversed in non-reader section!! > > ipmr_new_table() returns an existing table, but there is no table at > init. Therefore the condition: either holding rtnl or the list is empty > is used. > > Suggested-by: Jakub Kicinski <kuba@kernel.org> > Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com> > > Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com> Please only provide one signoff line. Please provide a proper Fixes: tag for this bug fix. And finally, please make your Subject line more appropriate. It must first state the target tree inside of the "[PATCH]" area, the two choices are "[PATCH net]" and "[PATCH net-next]" and it depends upon which tree this patch is targetting. Then your Subject line should also be more descriptive about exactly the subsystem and area the change is being made to, for this change for example you could use something like: ipv6: Fix suspicious RCU usage warning in ip6mr. Also, obviously, there are also syzkaller tags you can add to the commit message as well.
On Wed, May 13, 2020 at 12:00:10PM -0700, David Miller wrote: > From: madhuparnabhowmik10@gmail.com > Date: Wed, 13 May 2020 11:46:10 +0530 > > > From: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com> > > > > This patch fixes the following warning: > > > > ============================= > > WARNING: suspicious RCU usage > > 5.7.0-rc4-next-20200507-syzkaller #0 Not tainted > > ----------------------------- > > net/ipv6/ip6mr.c:124 RCU-list traversed in non-reader section!! > > > > ipmr_new_table() returns an existing table, but there is no table at > > init. Therefore the condition: either holding rtnl or the list is empty > > is used. > > > > Suggested-by: Jakub Kicinski <kuba@kernel.org> > > Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com> > > > > Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com> > > Please only provide one signoff line. > > Please provide a proper Fixes: tag for this bug fix. > > And finally, please make your Subject line more appropriate. It must > first state the target tree inside of the "[PATCH]" area, the two choices > are "[PATCH net]" and "[PATCH net-next]" and it depends upon which tree > this patch is targetting. > > Then your Subject line should also be more descriptive about exactly the > subsystem and area the change is being made to, for this change for > example you could use something like: > > ipv6: Fix suspicious RCU usage warning in ip6mr. > > Also, obviously, there are also syzkaller tags you can add to the > commit message as well. Sorry for this malformed patch, I have sent a patch with all these corrections. Thank you, Madhuparna
From: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com> Date: Thu, 14 May 2020 12:34:09 +0530 > Sorry for this malformed patch, I have sent a patch with all these > corrections. It still needs more work, see Jakub's feedback. Thank you.
On Thu, May 14, 2020 at 12:50:11PM -0700, David Miller wrote: > From: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com> > Date: Thu, 14 May 2020 12:34:09 +0530 > > > Sorry for this malformed patch, I have sent a patch with all these > > corrections. > > It still needs more work, see Jakub's feedback. > Yes, I have sent the v2 of this patch. Thank you, Madhuparna > Thank you.
diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c index 65a54d74acc1..fbe282bb8036 100644 --- a/net/ipv6/ip6mr.c +++ b/net/ipv6/ip6mr.c @@ -98,7 +98,7 @@ 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, \ - lockdep_rtnl_is_held()) + lockdep_rtnl_is_held() || list_empty(&net->ipv6.mr6_tables)) static struct mr_table *ip6mr_mr_table_iter(struct net *net, struct mr_table *mrt)