diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index 49523c2a9f10f4c787af63c0dbee74f5cfa177a4..32e8c3f73c797b96a651924ae9025295cc346d12 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c @@ -263,7 +263,8 @@ int ip6_nd_hdr(struct sock *sk, struct sk_buff *skb, struct net_device *dev, totlen = len + sizeof(struct ipv6hdr); - skb->nh.raw = skb_put(skb, sizeof(struct ipv6hdr)); + skb_reset_network_header(skb); + skb_put(skb, sizeof(struct ipv6hdr)); hdr = ipv6_hdr(skb); *(__be32*)hdr = htonl(0x60000000);