2020-05-13 06:21:21

by Madhuparna Bhowmik

[permalink] [raw]
Subject: [PATCH] Fix suspicious RCU usage warning

From: Madhuparna Bhowmik <[email protected]>

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 <[email protected]>
Signed-off-by: Madhuparna Bhowmik <[email protected]>

Signed-off-by: Madhuparna Bhowmik <[email protected]>
---
net/ipv6/ip6mr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

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)
--
2.17.1


2020-05-13 11:55:31

by Stephen Rothwell

[permalink] [raw]
Subject: Re: [PATCH] Fix suspicious RCU usage warning

Hi all,

On Wed, 13 May 2020 11:46:10 +0530 [email protected] wrote:
>
> From: Madhuparna Bhowmik <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Madhuparna Bhowmik <[email protected]>

Thanks. Added to my fixes tree from tomorrow (until it turns up
elsewhere).

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2020-05-13 19:02:00

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] Fix suspicious RCU usage warning

From: [email protected]
Date: Wed, 13 May 2020 11:46:10 +0530

> From: Madhuparna Bhowmik <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Madhuparna Bhowmik <[email protected]>
>
> Signed-off-by: Madhuparna Bhowmik <[email protected]>

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.

2020-05-14 07:06:31

by Madhuparna Bhowmik

[permalink] [raw]
Subject: Re: [PATCH] Fix suspicious RCU usage warning

On Wed, May 13, 2020 at 12:00:10PM -0700, David Miller wrote:
> From: [email protected]
> Date: Wed, 13 May 2020 11:46:10 +0530
>
> > From: Madhuparna Bhowmik <[email protected]>
> >
> > 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 <[email protected]>
> > Signed-off-by: Madhuparna Bhowmik <[email protected]>
> >
> > Signed-off-by: Madhuparna Bhowmik <[email protected]>
>
> 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

2020-05-14 20:10:18

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] Fix suspicious RCU usage warning

From: Madhuparna Bhowmik <[email protected]>
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.

2020-05-16 07:49:25

by Madhuparna Bhowmik

[permalink] [raw]
Subject: Re: [PATCH] Fix suspicious RCU usage warning

On Thu, May 14, 2020 at 12:50:11PM -0700, David Miller wrote:
> From: Madhuparna Bhowmik <[email protected]>
> 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.