aboutsummaryrefslogtreecommitdiffstats
path: root/net/netfilter
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2017-11-02 19:04:47 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2017-11-06 16:48:37 +0100
commit7f4dae2d7f03d2aaf3b7d8343d4509c8d9d7ca9b (patch)
treedc270e23d7c26162c5f1eb8377bf8f1c8aba904d /net/netfilter
parentnetfilter: xt_connlimit: remove mask argument (diff)
downloadlinux-dev-7f4dae2d7f03d2aaf3b7d8343d4509c8d9d7ca9b.tar.xz
linux-dev-7f4dae2d7f03d2aaf3b7d8343d4509c8d9d7ca9b.zip
netfilter: nft_hash: fix nft_hash_deactivate
Jindřich Makovička says: The logical OR looks fishy to me. Shouldn't be && there instead? Link: https://bugzilla.netfilter.org/show_bug.cgi?id=1199 Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter')
-rw-r--r--net/netfilter/nft_set_hash.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/netfilter/nft_set_hash.c b/net/netfilter/nft_set_hash.c
index 0fa01d772c5e..650677f1e539 100644
--- a/net/netfilter/nft_set_hash.c
+++ b/net/netfilter/nft_set_hash.c
@@ -494,7 +494,7 @@ static void *nft_hash_deactivate(const struct net *net,
hash = reciprocal_scale(hash, priv->buckets);
hlist_for_each_entry(he, &priv->table[hash], node) {
if (!memcmp(nft_set_ext_key(&this->ext), &elem->key.val,
- set->klen) ||
+ set->klen) &&
nft_set_elem_active(&he->ext, genmask)) {
nft_set_elem_change_active(net, set, &he->ext);
return he;