summaryrefslogtreecommitdiff
path: root/net/netfilter/nft_connlimit.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-01-30 15:00:39 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-01-30 15:00:39 +0100
commit7ab004dbcbee38b8a70798835d3ffcd97a985a5e (patch)
tree0caa6cb97801736046823ca785a5ba36bf684ac6 /net/netfilter/nft_connlimit.c
parent710f8af199ee9d72dd87083edd55c5ee250ee6f4 (diff)
parent26291c54e111ff6ba87a164d85d4a4e134b7315c (diff)
Merge tag 'v5.17-rc2' into char-misc-next
We need the char/misc fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/netfilter/nft_connlimit.c')
-rw-r--r--net/netfilter/nft_connlimit.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/net/netfilter/nft_connlimit.c b/net/netfilter/nft_connlimit.c
index 7d00a1452b1d..3362417ebfdb 100644
--- a/net/netfilter/nft_connlimit.c
+++ b/net/netfilter/nft_connlimit.c
@@ -62,6 +62,7 @@ static int nft_connlimit_do_init(const struct nft_ctx *ctx,
{
bool invert = false;
u32 flags, limit;
+ int err;
if (!tb[NFTA_CONNLIMIT_COUNT])
return -EINVAL;
@@ -84,7 +85,15 @@ static int nft_connlimit_do_init(const struct nft_ctx *ctx,
priv->limit = limit;
priv->invert = invert;
- return nf_ct_netns_get(ctx->net, ctx->family);
+ err = nf_ct_netns_get(ctx->net, ctx->family);
+ if (err < 0)
+ goto err_netns;
+
+ return 0;
+err_netns:
+ kfree(priv->list);
+
+ return err;
}
static void nft_connlimit_do_destroy(const struct nft_ctx *ctx,