diff options
author | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2015-10-19 20:20:19 +0200 |
---|---|---|
committer | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2015-10-19 20:20:19 +0200 |
commit | 4ed4c5f9f3f5cf007f9d2f168d310e83fb16408a (patch) | |
tree | 4b40dd72eb604a052f1e901293854f5da2b45781 /kernel/net/sched | |
parent | 095bd886850f3f0c6fa98f2a8d2433f9240b37f0 (diff) |
Fix detecting 'struct net' in 'struct tcf_ematch'
Nikolay Borisov reported that the detection is broken. Fix checking in the
right sctructure and wrap the call to dev_get_by_index_rcu() too.
Diffstat (limited to 'kernel/net/sched')
-rw-r--r-- | kernel/net/sched/em_ipset.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/net/sched/em_ipset.c b/kernel/net/sched/em_ipset.c index 31a0bd8..bc1a2f1 100644 --- a/kernel/net/sched/em_ipset.c +++ b/kernel/net/sched/em_ipset.c @@ -113,7 +113,11 @@ static int em_ipset_match(struct sk_buff *skb, struct tcf_ematch *em, rcu_read_lock(); if (skb->skb_iif) +#ifdef HAVE_TCF_EMATCH_STRUCT_NET indev = dev_get_by_index_rcu(em->net, skb->skb_iif); +#else + indev = dev_get_by_index_rcu(dev_net(dev), skb->skb_iif); +#endif acpar.in = indev ? indev : dev; acpar.out = dev; |