From: David S. Miller Date: Wed, 6 Jul 2011 14:30:59 +0000 (-0700) Subject: packet: Fix leak in pre-defrag support. X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=aec27311c23a8ce8eaf490762249d3ed74be83b6;p=linux-beck.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;