summaryrefslogtreecommitdiffstats
path: root/kernel/net/netfilter
diff options
context:
space:
mode:
authorJozsef Kadlecsik <kadlec@blackhole.kfki.hu>2016-11-10 11:11:32 +0100
committerJozsef Kadlecsik <kadlec@blackhole.kfki.hu>2016-11-10 11:11:32 +0100
commit92cf76b97f9ffa7ec56255d21c2153d7dd6682d0 (patch)
treef5a67f6f00e53b7f57a042b5553dbded50c45373 /kernel/net/netfilter
parent06a0d34854f9a90f7de3e1fcade36b293d0d2f6d (diff)
Revert patch "Correct rcu_dereference_bh_nfnl() usage"
The susbsystem param cannot be used to rely on subsystem mutex locking because the call is used in netlink dump context as well. Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Diffstat (limited to 'kernel/net/netfilter')
-rw-r--r--kernel/net/netfilter/ipset/ip_set_hash_gen.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/kernel/net/netfilter/ipset/ip_set_hash_gen.h b/kernel/net/netfilter/ipset/ip_set_hash_gen.h
index c9f0db6..673c7aa 100644
--- a/kernel/net/netfilter/ipset/ip_set_hash_gen.h
+++ b/kernel/net/netfilter/ipset/ip_set_hash_gen.h
@@ -17,9 +17,7 @@
#define ipset_dereference_protected(p, set) \
__ipset_dereference_protected(p, spin_is_locked(&(set)->lock))
-#ifndef rcu_dereference_bh_nfnl
-#define rcu_dereference_bh_nfnl(p, ss) rcu_dereference_bh_check(p, 1)
-#endif
+#define rcu_dereference_bh_nfnl(p) rcu_dereference_bh_check(p, 1)
/* Hashing which uses arrays to resolve clashing. The hash table is resized
* (doubled) when searching becomes too long.
@@ -570,7 +568,7 @@ mtype_resize(struct ip_set *set, bool retried)
return -ENOMEM;
#endif
rcu_read_lock_bh();
- orig = rcu_dereference_bh_nfnl(h->table, NFNL_SUBSYS_IPSET);
+ orig = rcu_dereference_bh_nfnl(h->table);
htable_bits = orig->htable_bits;
rcu_read_unlock_bh();
@@ -1051,7 +1049,7 @@ mtype_head(struct ip_set *set, struct sk_buff *skb)
u8 htable_bits;
rcu_read_lock_bh();
- t = rcu_dereference_bh_nfnl(h->table, NFNL_SUBSYS_IPSET);
+ t = rcu_dereference_bh_nfnl(h->table);
memsize = mtype_ahash_memsize(h, t) + set->ext_size;
htable_bits = t->htable_bits;
rcu_read_unlock_bh();
@@ -1094,7 +1092,7 @@ mtype_uref(struct ip_set *set, struct netlink_callback *cb, bool start)
if (start) {
rcu_read_lock_bh();
- t = rcu_dereference_bh_nfnl(h->table, NFNL_SUBSYS_IPSET);
+ t = rcu_dereference_bh_nfnl(h->table);
atomic_inc(&t->uref);
cb->args[IPSET_CB_PRIVATE] = (unsigned long)t;
rcu_read_unlock_bh();