net: fix suspicious rcu_dereference_check in net/sched/sch_fq_codel.c
authorValdis.Kletnieks@vt.edu <Valdis.Kletnieks@vt.edu>
Tue, 9 Dec 2014 21:15:50 +0000 (16:15 -0500)
committerDavid S. Miller <davem@davemloft.net>
Wed, 10 Dec 2014 02:49:09 +0000 (21:49 -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 <valdis.kletnieks@vt.edu>
Acked-by: Eric Dumazet <edumazet@google.com>
Acked-by: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_fq_codel.c

index b9ca32ebc1de0922499379dda1735d75abdd26bc..1e52decb7b59cf0b4173d0f17efdab8fefee5f26 100644 (file)
@@ -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;