From: Patrick McHardy Date: Wed, 17 Apr 2013 06:46:59 +0000 (+0000) Subject: netlink: don't orphan skb in netlink_trim() X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=1298ca4671acb10310baa550ed044c553e3a3387;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git 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 978a61f7c87f..26779c24b1d4 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)