mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 08:44:21 +08:00
netfilter: nft_dynset: relax superfluous check on set updates
[ Upstream commit7b1394892d
] 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:22fe54d5fe
("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>
This commit is contained in:
parent
d846b69dc7
commit
3ad069d68e
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user