From: Patrick McHardy Date: Wed, 17 Apr 2013 06:46:59 +0000 (+0000) Subject: netlink: don't orphan skb in netlink_trim() X-Git-Tag: v3.10-rc1~120^2~88^2~10 X-Git-Url: http://pileus.org/git/?a=commitdiff_plain;h=1298ca4671acb10310baa550ed044c553e3a3387;p=~andy%2Flinux netlink: don't orphan skb in netlink_trim() Netlink doesn't account skbs to the sending socket, so the there's no need to orphan the skb before trimming it. Removing the skb_orphan() call is required for mmap'ed netlink, which uses a netlink specific skb destructor that must not be invoked before the final freeing of the skb. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller --- diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index 978a61f7c87..26779c24b1d 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c @@ -851,7 +851,7 @@ static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation) { int delta; - skb_orphan(skb); + WARN_ON(skb->sk != NULL); delta = skb->end - skb->tail; if (delta * 2 < skb->truesize)