Skip to content

Commit

Permalink
netfilter: nft_dynset: relax superfluous check on set updates
Browse files Browse the repository at this point in the history
[ Upstream commit 7b13948 ]

Relax this condition to make add and update commands idempotent for sets
with no timeout. The eval function already checks if the set element
timeout is available and updates it if the update command is used.

Fixes: 22fe54d ("netfilter: nf_tables: add support for dynamic set updates")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
ummakynes authored and gregkh committed Nov 17, 2021
1 parent 05f2a14 commit da82152
Showing 1 changed file with 1 addition and 10 deletions.
11 changes: 1 addition & 10 deletions net/netfilter/nft_dynset.c
Expand Up @@ -198,17 +198,8 @@ static int nft_dynset_init(const struct nft_ctx *ctx,
return -EBUSY;

priv->op = ntohl(nla_get_be32(tb[NFTA_DYNSET_OP]));
switch (priv->op) {
case NFT_DYNSET_OP_ADD:
case NFT_DYNSET_OP_DELETE:
break;
case NFT_DYNSET_OP_UPDATE:
if (!(set->flags & NFT_SET_TIMEOUT))
return -EOPNOTSUPP;
break;
default:
if (priv->op > NFT_DYNSET_OP_DELETE)
return -EOPNOTSUPP;
}

timeout = 0;
if (tb[NFTA_DYNSET_TIMEOUT] != NULL) {
Expand Down

0 comments on commit da82152

Please sign in to comment.