d0ba3bb1e2
it has been non-functional for years and caused numerous memleaks and crashes for people that tried to enable it. it has no maintained upstream source, and it does not look like it's going to be fixed any time soon Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45423
30 lines
665 B
Diff
30 lines
665 B
Diff
--- a/net/netlink/af_netlink.c
|
|
+++ b/net/netlink/af_netlink.c
|
|
@@ -1695,27 +1695,7 @@ void netlink_detachskb(struct sock *sk,
|
|
|
|
static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
|
|
{
|
|
- int delta;
|
|
-
|
|
WARN_ON(skb->sk != NULL);
|
|
- if (netlink_skb_is_mmaped(skb))
|
|
- return skb;
|
|
-
|
|
- delta = skb->end - skb->tail;
|
|
- if (is_vmalloc_addr(skb->head) || delta * 2 < skb->truesize)
|
|
- return skb;
|
|
-
|
|
- if (skb_shared(skb)) {
|
|
- struct sk_buff *nskb = skb_clone(skb, allocation);
|
|
- if (!nskb)
|
|
- return skb;
|
|
- consume_skb(skb);
|
|
- skb = nskb;
|
|
- }
|
|
-
|
|
- if (!pskb_expand_head(skb, 0, -delta, allocation))
|
|
- skb->truesize -= delta;
|
|
-
|
|
return skb;
|
|
}
|
|
|