aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/ip_output.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/ip_output.c')
-rw-r--r--net/ipv4/ip_output.c11
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,