diff options
Diffstat (limited to 'net/ipv4/ip_output.c')
-rw-r--r-- | net/ipv4/ip_output.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index 02988fb262d6..875da382d9b9 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c | |||
@@ -582,7 +582,7 @@ slow_path: | |||
582 | skb_reserve(skb2, ll_rs); | 582 | skb_reserve(skb2, ll_rs); |
583 | skb_put(skb2, len + hlen); | 583 | skb_put(skb2, len + hlen); |
584 | skb_reset_network_header(skb2); | 584 | skb_reset_network_header(skb2); |
585 | skb2->h.raw = skb2->nh.raw + hlen; | 585 | skb2->transport_header = skb2->network_header + hlen; |
586 | 586 | ||
587 | /* | 587 | /* |
588 | * Charge the memory for the fragment to any owner | 588 | * Charge the memory for the fragment to any owner |
@@ -713,7 +713,7 @@ static inline int ip_ufo_append_data(struct sock *sk, | |||
713 | skb_reset_network_header(skb); | 713 | skb_reset_network_header(skb); |
714 | 714 | ||
715 | /* initialize protocol header pointer */ | 715 | /* initialize protocol header pointer */ |
716 | skb->h.raw = skb->nh.raw + fragheaderlen; | 716 | skb->transport_header = skb->network_header + fragheaderlen; |
717 | 717 | ||
718 | skb->ip_summed = CHECKSUM_PARTIAL; | 718 | skb->ip_summed = CHECKSUM_PARTIAL; |
719 | skb->csum = 0; | 719 | skb->csum = 0; |
@@ -918,7 +918,8 @@ alloc_new_skb: | |||
918 | */ | 918 | */ |
919 | data = skb_put(skb, fraglen); | 919 | data = skb_put(skb, fraglen); |
920 | skb_set_network_header(skb, exthdrlen); | 920 | skb_set_network_header(skb, exthdrlen); |
921 | skb->h.raw = skb->nh.raw + fragheaderlen; | 921 | skb->transport_header = (skb->network_header + |
922 | fragheaderlen); | ||
922 | data += fragheaderlen; | 923 | data += fragheaderlen; |
923 | 924 | ||
924 | if (fraggap) { | 925 | if (fraggap) { |
@@ -1112,8 +1113,8 @@ ssize_t ip_append_page(struct sock *sk, struct page *page, | |||
1112 | */ | 1113 | */ |
1113 | skb_put(skb, fragheaderlen + fraggap); | 1114 | skb_put(skb, fragheaderlen + fraggap); |
1114 | skb_reset_network_header(skb); | 1115 | skb_reset_network_header(skb); |
1115 | skb->h.raw = skb->nh.raw + fragheaderlen; | 1116 | skb->transport_header = (skb->network_header + |
1116 | 1117 | fragheaderlen); | |
1117 | if (fraggap) { | 1118 | if (fraggap) { |
1118 | skb->csum = skb_copy_and_csum_bits(skb_prev, | 1119 | skb->csum = skb_copy_and_csum_bits(skb_prev, |
1119 | maxfraglen, | 1120 | maxfraglen, |