diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index 82ccf0a43063faf8e105e7c2b79dcf1d915bee19..539b2ec37d3a4b99af849c673ce22601d441817e 100644 --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c @@ -1509,7 +1509,7 @@ int ndisc_rcv(struct sk_buff *skb) { struct nd_msg *msg; - if (!pskb_may_pull(skb, skb->len)) + if (skb_linearize(skb)) return 0; msg = (struct nd_msg *)skb_transport_header(skb);