netfilter: nft_nat: return EOPNOTSUPP if type or flags are not supported

BugLink: https://bugs.launchpad.net/bugs/1885023

[ Upstream commit 0d7c83463f ]

Instead of EINVAL which should be used for malformed netlink messages.

Fixes: eb31628e37 ("netfilter: nf_tables: Add support for IPv6 NAT")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kelsey Skunberg <kelsey.skunberg@canonical.com>
This commit is contained in:
Pablo Neira Ayuso 2020-04-24 21:55:34 +02:00 committed by Khalid Elmously
parent f26e8680c9
commit 7718022e9a
1 changed files with 2 additions and 2 deletions

View File

@ -129,7 +129,7 @@ static int nft_nat_init(const struct nft_ctx *ctx, const struct nft_expr *expr,
priv->type = NF_NAT_MANIP_DST; priv->type = NF_NAT_MANIP_DST;
break; break;
default: default:
return -EINVAL; return -EOPNOTSUPP;
} }
if (tb[NFTA_NAT_FAMILY] == NULL) if (tb[NFTA_NAT_FAMILY] == NULL)
@ -196,7 +196,7 @@ static int nft_nat_init(const struct nft_ctx *ctx, const struct nft_expr *expr,
if (tb[NFTA_NAT_FLAGS]) { if (tb[NFTA_NAT_FLAGS]) {
priv->flags = ntohl(nla_get_be32(tb[NFTA_NAT_FLAGS])); priv->flags = ntohl(nla_get_be32(tb[NFTA_NAT_FLAGS]));
if (priv->flags & ~NF_NAT_RANGE_MASK) if (priv->flags & ~NF_NAT_RANGE_MASK)
return -EINVAL; return -EOPNOTSUPP;
} }
return nf_ct_netns_get(ctx->net, family); return nf_ct_netns_get(ctx->net, family);