2014-12-09 21:16:02

by Valdis Klētnieks

[permalink] [raw]
Subject: [PATCH] fix suspicious rcu_dereference_check in net/sched/sch_fq_codel.c

commit 46e5da40ae (net: qdisc: use rcu prefix and silence
sparse warnings) triggers a spurious warning:

net/sched/sch_fq_codel.c:97 suspicious rcu_dereference_check() usage!

The code should be using the _bh variant of rcu_dereference.

Signed-off-by: Valdis Kletnieks <[email protected]>
---
net/sched/sch_fq_codel.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/sched/sch_fq_codel.c b/net/sched/sch_fq_codel.c
index b9ca32ebc1de..1e52decb7b59 100644
--- a/net/sched/sch_fq_codel.c
+++ b/net/sched/sch_fq_codel.c
@@ -94,7 +94,7 @@ static unsigned int fq_codel_classify(struct sk_buff *skb, struct Qdisc *sch,
TC_H_MIN(skb->priority) <= q->flows_cnt)
return TC_H_MIN(skb->priority);

- filter = rcu_dereference(q->filter_list);
+ filter = rcu_dereference_bh(q->filter_list);
if (!filter)
return fq_codel_hash(q, skb) + 1;

--
2.2.0


2014-12-09 21:42:56

by Eric Dumazet

[permalink] [raw]
Subject: Re: [PATCH] fix suspicious rcu_dereference_check in net/sched/sch_fq_codel.c

On Tue, 2014-12-09 at 16:15 -0500, Valdis Kletnieks wrote:
> commit 46e5da40ae (net: qdisc: use rcu prefix and silence
> sparse warnings) triggers a spurious warning:
>
> net/sched/sch_fq_codel.c:97 suspicious rcu_dereference_check() usage!
>
> The code should be using the _bh variant of rcu_dereference.
>
> Signed-off-by: Valdis Kletnieks <[email protected]>
> ---
> net/sched/sch_fq_codel.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Acked-by: Eric Dumazet <[email protected]>

Thanks !

2014-12-09 23:13:21

by John Fastabend

[permalink] [raw]
Subject: Re: [PATCH] fix suspicious rcu_dereference_check in net/sched/sch_fq_codel.c

On 12/09/2014 01:42 PM, Eric Dumazet wrote:
> On Tue, 2014-12-09 at 16:15 -0500, Valdis Kletnieks wrote:
>> commit 46e5da40ae (net: qdisc: use rcu prefix and silence
>> sparse warnings) triggers a spurious warning:
>>
>> net/sched/sch_fq_codel.c:97 suspicious rcu_dereference_check() usage!
>>
>> The code should be using the _bh variant of rcu_dereference.
>>
>> Signed-off-by: Valdis Kletnieks <[email protected]>
>> ---
>> net/sched/sch_fq_codel.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Acked-by: Eric Dumazet <[email protected]>
>
> Thanks !
>
>

Great thanks for finding/fixing!

Acked-by: John Fastabend <[email protected]>

2014-12-10 02:49:40

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] fix suspicious rcu_dereference_check in net/sched/sch_fq_codel.c

From: Valdis Kletnieks <[email protected]>
Date: Tue, 09 Dec 2014 16:15:50 -0500

> commit 46e5da40ae (net: qdisc: use rcu prefix and silence
> sparse warnings) triggers a spurious warning:
>
> net/sched/sch_fq_codel.c:97 suspicious rcu_dereference_check() usage!
>
> The code should be using the _bh variant of rcu_dereference.
>
> Signed-off-by: Valdis Kletnieks <[email protected]>

Applied and queued up for -stable, thanks.