lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 22 Oct 2012 17:28:02 +0200 From: Eric Dumazet <eric.dumazet@...il.com> To: Mike Kazantsev <mk.fraggod@...il.com> Cc: Paul Moore <paul@...l-moore.com>, netdev@...r.kernel.org, linux-mm@...ck.org Subject: Re: PROBLEM: Memory leak (at least with SLUB) from "secpath_dup" (xfrm) in 3.5+ kernels On Mon, 2012-10-22 at 17:22 +0200, Eric Dumazet wrote: > On Mon, 2012-10-22 at 17:16 +0200, Eric Dumazet wrote: > > > OK, I believe I found the bug in IPv4 defrag / IPv6 reasm > > > > Please test the following patch. > > > > Thanks ! > > I'll send a more generic patch in a few minutes, changing > kfree_skb_partial() to call skb_release_head_state() > Here it is : diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 6e04b1f..4007c14 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -3379,10 +3379,12 @@ EXPORT_SYMBOL(__skb_warn_lro_forwarding); void kfree_skb_partial(struct sk_buff *skb, bool head_stolen) { - if (head_stolen) + if (head_stolen) { + skb_release_head_state(skb); kmem_cache_free(skbuff_head_cache, skb); - else + } else { __kfree_skb(skb); + } } EXPORT_SYMBOL(kfree_skb_partial); -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists