summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWANG Cong <xiyou.wangcong@gmail.com>2014-09-15 23:06:48 +0200
committerDavid S. Miller <davem@davemloft.net>2014-09-15 23:49:42 +0200
commit2f9a220eff18d31cf82b92e74d5bbc8a3d7043d8 (patch)
treecd78da77913f51baf790fb6cbf8573b4dcd45808
parentnet_sched: fix an allocation bug in tcindex_set_parms() (diff)
downloadlinux-2f9a220eff18d31cf82b92e74d5bbc8a3d7043d8.tar.xz
linux-2f9a220eff18d31cf82b92e74d5bbc8a3d7043d8.zip
net_sched: fix suspicious RCU usage in tcindex_classify()
This patch fixes the following kernel warning: [ 44.805900] [ INFO: suspicious RCU usage. ] [ 44.808946] 3.17.0-rc4+ #610 Not tainted [ 44.811831] ------------------------------- [ 44.814873] net/sched/cls_tcindex.c:84 suspicious rcu_dereference_check() usage! Fixes: commit 331b72922c5f58d48fd ("net: sched: RCU cls_tcindex") Cc: John Fastabend <john.fastabend@gmail.com> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Acked-by: John Fastabend <john.r.fastabend@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/sched/cls_tcindex.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sched/cls_tcindex.c b/net/sched/cls_tcindex.c
index a02ca7298385..b93974c4570c 100644
--- a/net/sched/cls_tcindex.c
+++ b/net/sched/cls_tcindex.c
@@ -81,7 +81,7 @@ tcindex_lookup(struct tcindex_data *p, u16 key)
static int tcindex_classify(struct sk_buff *skb, const struct tcf_proto *tp,
struct tcf_result *res)
{
- struct tcindex_data *p = rcu_dereference(tp->root);
+ struct tcindex_data *p = rcu_dereference_bh(tp->root);
struct tcindex_filter_result *f;
int key = (skb->tc_index & p->mask) >> p->shift;