aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/ip6_output.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/ip6_output.c')
-rw-r--r--net/ipv6/ip6_output.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index 1900c6226866..0f4434eff66a 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -654,7 +654,7 @@ static int ip6_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *))
654 * before previous one went down. */ 654 * before previous one went down. */
655 if (frag) { 655 if (frag) {
656 frag->ip_summed = CHECKSUM_NONE; 656 frag->ip_summed = CHECKSUM_NONE;
657 frag->h.raw = frag->data; 657 skb_reset_transport_header(frag);
658 fh = (struct frag_hdr*)__skb_push(frag, sizeof(struct frag_hdr)); 658 fh = (struct frag_hdr*)__skb_push(frag, sizeof(struct frag_hdr));
659 __skb_push(frag, hlen); 659 __skb_push(frag, hlen);
660 skb_reset_network_header(frag); 660 skb_reset_network_header(frag);
@@ -747,8 +747,8 @@ slow_path:
747 skb_reserve(frag, LL_RESERVED_SPACE(rt->u.dst.dev)); 747 skb_reserve(frag, LL_RESERVED_SPACE(rt->u.dst.dev));
748 skb_put(frag, len + hlen + sizeof(struct frag_hdr)); 748 skb_put(frag, len + hlen + sizeof(struct frag_hdr));
749 skb_reset_network_header(frag); 749 skb_reset_network_header(frag);
750 fh = (struct frag_hdr*)(frag->data + hlen); 750 fh = (struct frag_hdr *)(skb_network_header(frag) + hlen);
751 frag->h.raw = frag->data + hlen + sizeof(struct frag_hdr); 751 frag->h.raw = frag->nh.raw + hlen + sizeof(struct frag_hdr);
752 752
753 /* 753 /*
754 * Charge the memory for the fragment to any owner 754 * Charge the memory for the fragment to any owner
@@ -991,7 +991,7 @@ static inline int ip6_ufo_append_data(struct sock *sk,
991 skb_reset_network_header(skb); 991 skb_reset_network_header(skb);
992 992
993 /* initialize protocol header pointer */ 993 /* initialize protocol header pointer */
994 skb->h.raw = skb->data + fragheaderlen; 994 skb->h.raw = skb->nh.raw + fragheaderlen;
995 995
996 skb->ip_summed = CHECKSUM_PARTIAL; 996 skb->ip_summed = CHECKSUM_PARTIAL;
997 skb->csum = 0; 997 skb->csum = 0;