netfilter: nf_tables: release new hooks on unsupported flowtable flags
[ Upstream commit c271cc9febaaa1bcbc0842d1ee30466aa6148ea8 ]
Release the list of new hooks that are pending to be registered in case
that unsupported flowtable flags are provided.
Fixes: 78d9f48f7f
("netfilter: nf_tables: add devices to existing flowtable")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
19cb3ece14
commit
67e2d44873
@ -6694,11 +6694,15 @@ static int nft_flowtable_update(struct nft_ctx *ctx, const struct nlmsghdr *nlh,
|
||||
|
||||
if (nla[NFTA_FLOWTABLE_FLAGS]) {
|
||||
flags = ntohl(nla_get_be32(nla[NFTA_FLOWTABLE_FLAGS]));
|
||||
if (flags & ~NFT_FLOWTABLE_MASK)
|
||||
return -EOPNOTSUPP;
|
||||
if (flags & ~NFT_FLOWTABLE_MASK) {
|
||||
err = -EOPNOTSUPP;
|
||||
goto err_flowtable_update_hook;
|
||||
}
|
||||
if ((flowtable->data.flags & NFT_FLOWTABLE_HW_OFFLOAD) ^
|
||||
(flags & NFT_FLOWTABLE_HW_OFFLOAD))
|
||||
return -EOPNOTSUPP;
|
||||
(flags & NFT_FLOWTABLE_HW_OFFLOAD)) {
|
||||
err = -EOPNOTSUPP;
|
||||
goto err_flowtable_update_hook;
|
||||
}
|
||||
} else {
|
||||
flags = flowtable->data.flags;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user