From: Arnaldo Carvalho de Melo Date: Thu, 15 Mar 2007 00:05:03 +0000 (-0300) Subject: [IPV6]: Reset the network header in ip6_nd_hdr X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=55f79cc0c02f9ce8f85e965e9679796f62b790f5;p=openwrt%2Fstaging%2Fblogic.git [IPV6]: Reset the network header in ip6_nd_hdr ip6_nd_hdr is always called immediately after a alloc_skb + skb_reserve sequence, i.e. when skb->tail is equal to skb->data, making it correct to use skb_reset_network_header(). Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller --- diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index 49523c2a9f10..32e8c3f73c79 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);