aboutsummaryrefslogtreecommitdiffstats
path: root/net/netfilter/nft_set_hash.c
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/nft_set_hash.c
parentb1fc1372c48027a5b99943905cf7cfa6d622d6a9 (diff)
downloadlinux-7f4dae2d7f03d2aaf3b7d8343d4509c8d9d7ca9b.tar.gz
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/nft_set_hash.c')
-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 0fa01d772c5e2c..650677f1e53911 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;