diff options
author | Florian Westphal <fw@strlen.de> | 2017-12-01 00:21:03 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2018-01-08 18:01:06 +0100 |
commit | 26888dfd7e7454686b8d3ea9ba5045d5f236e4d7 (patch) | |
tree | 61d1f7799b39dfa9a78de032d1efc12f1d96b2bd /net/netfilter/core.c | |
parent | 4e645b47c4f000a503b9c90163ad905786b9bc1d (diff) | |
download | linux-stable-26888dfd7e7454686b8d3ea9ba5045d5f236e4d7.tar.gz linux-stable-26888dfd7e7454686b8d3ea9ba5045d5f236e4d7.tar.bz2 linux-stable-26888dfd7e7454686b8d3ea9ba5045d5f236e4d7.zip |
netfilter: core: remove synchronize_net call if nfqueue is used
since commit 960632ece6949b ("netfilter: convert hook list to an array")
nfqueue no longer stores a pointer to the hook that caused the packet
to be queued. Therefore no extra synchronize_net() call is needed after
dropping the packets enqueued by the old rule blob.
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter/core.c')
-rw-r--r-- | net/netfilter/core.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/net/netfilter/core.c b/net/netfilter/core.c index d39bb2c583dc..9a84b6cb99e6 100644 --- a/net/netfilter/core.c +++ b/net/netfilter/core.c @@ -341,7 +341,6 @@ void nf_unregister_net_hook(struct net *net, const struct nf_hook_ops *reg) { struct nf_hook_entries __rcu **pp; struct nf_hook_entries *p; - unsigned int nfq; pp = nf_hook_entry_head(net, reg); if (!pp) @@ -364,10 +363,7 @@ void nf_unregister_net_hook(struct net *net, const struct nf_hook_ops *reg) synchronize_net(); - /* other cpu might still process nfqueue verdict that used reg */ - nfq = nf_queue_nf_hook_drop(net); - if (nfq) - synchronize_net(); + nf_queue_nf_hook_drop(net); kvfree(p); } EXPORT_SYMBOL(nf_unregister_net_hook); |