summaryrefslogtreecommitdiff
path: root/net/bridge
diff options
context:
space:
mode:
authorYajun Deng <yajun.deng@linux.dev>2021-07-29 11:20:21 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-08-18 09:59:09 +0300
commitbe49d5437d1a7ed2ce98d12b9f787091b455475b (patch)
tree7860d7fb6017f616ba2c3b713b86cb4983b02b56 /net/bridge
parentaa6b17bfefbcfe3f34fb5a678b72f2cf73597c02 (diff)
downloadlinux-be49d5437d1a7ed2ce98d12b9f787091b455475b.tar.xz
netfilter: nf_conntrack_bridge: Fix memory leak when error
[ Upstream commit 38ea9def5b62f9193f6bad96c5d108e2830ecbde ] It should be added kfree_skb_list() when err is not equal to zero in nf_br_ip_fragment(). v2: keep this aligned with IPv6. v3: modify iter.frag_list to iter.frag. Fixes: 3c171f496ef5 ("netfilter: bridge: add connection tracking system") Signed-off-by: Yajun Deng <yajun.deng@linux.dev> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'net/bridge')
-rw-r--r--net/bridge/netfilter/nf_conntrack_bridge.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/bridge/netfilter/nf_conntrack_bridge.c b/net/bridge/netfilter/nf_conntrack_bridge.c
index 8d033a75a766..fdbed3158555 100644
--- a/net/bridge/netfilter/nf_conntrack_bridge.c
+++ b/net/bridge/netfilter/nf_conntrack_bridge.c
@@ -88,6 +88,12 @@ static int nf_br_ip_fragment(struct net *net, struct sock *sk,
skb = ip_fraglist_next(&iter);
}
+
+ if (!err)
+ return 0;
+
+ kfree_skb_list(iter.frag);
+
return err;
}
slow_path: