[SKBUFF]: Free old skb properly in skb_morph
authorHerbert Xu <herbert@gondor.apana.org.au>
Mon, 26 Nov 2007 15:11:19 +0000 (23:11 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 26 Nov 2007 15:11:19 +0000 (23:11 +0800)
commit2d4baff8da06f424a6fca10e26434c4926a7c3df
treec0f537d5cf0aca544ba77d11b529f146f5ba5bc8
parent218ad12f42e0b6207105cde8fd13017d1ed449e4
[SKBUFF]: Free old skb properly in skb_morph

The skb_morph function only freed the data part of the dst skb, but leaked
the auxiliary data such as the netfilter fields.  This patch fixes this by
moving the relevant parts from __kfree_skb to skb_release_all and calling
it in skb_morph.

It also makes kfree_skbmem static since it's no longer called anywhere else
and it now no longer does skb_release_data.

Thanks to Yasuyuki KOZAKAI for finding this problem and posting a patch for
it.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
include/linux/skbuff.h
net/core/skbuff.c