From: David S. Miller Date: Wed, 6 Jul 2011 14:30:59 +0000 (-0700) Subject: packet: Fix leak in pre-defrag support. X-Git-Tag: Ubuntu-5.10.0-12.13~23637^2~217 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=aec27311c23a8ce8eaf490762249d3ed74be83b6;p=mirror_ubuntu-hirsute-kernel.git packet: Fix leak in pre-defrag support. When we clone the SKB, we forget about the original one. Avoid this problem by using skb_share_check(). Reported-by: Penttilä Mika Signed-off-by: David S. Miller --- diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index 41f0489ff665..aec50a1e9849 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -476,7 +476,7 @@ static struct sk_buff *fanout_check_defrag(struct sk_buff *skb) return skb; if (ip_is_fragment(ip_hdr(skb))) { - skb = skb_clone(skb, GFP_ATOMIC); + skb = skb_share_check(skb, GFP_ATOMIC); if (skb) { if (pskb_trim_rcsum(skb, len)) return skb;