aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/ipv4/igmp.c2
-rw-r--r--net/ipv4/ip_output.c2
-rw-r--r--net/ipv6/exthdrs.c2
-rw-r--r--net/ipv6/netfilter/nf_conntrack_reasm.c4
4 files changed, 5 insertions, 5 deletions
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c
index b0efd279ddb4..4695ada1d9b1 100644
--- a/net/ipv4/igmp.c
+++ b/net/ipv4/igmp.c
@@ -348,7 +348,7 @@ static int igmpv3_sendpack(struct sk_buff *skb)
348{ 348{
349 struct iphdr *pip = ip_hdr(skb); 349 struct iphdr *pip = ip_hdr(skb);
350 struct igmphdr *pig = igmp_hdr(skb); 350 struct igmphdr *pig = igmp_hdr(skb);
351 const int iplen = skb->tail - skb->nh.raw; 351 const int iplen = skb->tail - skb_network_header(skb);
352 const int igmplen = skb->tail - skb_transport_header(skb); 352 const int igmplen = skb->tail - skb_transport_header(skb);
353 353
354 pip->tot_len = htons(iplen); 354 pip->tot_len = htons(iplen);
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index 11ab100d6c6c..11a6ac756f8c 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -601,7 +601,7 @@ slow_path:
601 /* 601 /*
602 * Copy a block of the IP datagram. 602 * Copy a block of the IP datagram.
603 */ 603 */
604 if (skb_copy_bits(skb, ptr, skb2->h.raw, len)) 604 if (skb_copy_bits(skb, ptr, skb_transport_header(skb2), len))
605 BUG(); 605 BUG();
606 left -= len; 606 left -= len;
607 607
diff --git a/net/ipv6/exthdrs.c b/net/ipv6/exthdrs.c
index f25ee773f52e..f763409ea740 100644
--- a/net/ipv6/exthdrs.c
+++ b/net/ipv6/exthdrs.c
@@ -506,7 +506,7 @@ looped_back:
506 kfree_skb(skb); 506 kfree_skb(skb);
507 *skbp = skb = skb2; 507 *skbp = skb = skb2;
508 opt = IP6CB(skb2); 508 opt = IP6CB(skb2);
509 hdr = (struct ipv6_rt_hdr *) skb2->h.raw; 509 hdr = (struct ipv6_rt_hdr *)skb_transport_header(skb2);
510 } 510 }
511 511
512 if (skb->ip_summed == CHECKSUM_COMPLETE) 512 if (skb->ip_summed == CHECKSUM_COMPLETE)
diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilter/nf_conntrack_reasm.c
index 015950522c8b..84ce5b3c4b21 100644
--- a/net/ipv6/netfilter/nf_conntrack_reasm.c
+++ b/net/ipv6/netfilter/nf_conntrack_reasm.c
@@ -627,7 +627,7 @@ nf_ct_frag6_reasm(struct nf_ct_frag6_queue *fq, struct net_device *dev)
627 627
628 /* We have to remove fragment header from datagram and to relocate 628 /* We have to remove fragment header from datagram and to relocate
629 * header in order to calculate ICV correctly. */ 629 * header in order to calculate ICV correctly. */
630 skb_network_header(head)[fq->nhoffset] = head->h.raw[0]; 630 skb_network_header(head)[fq->nhoffset] = skb_transport_header(head)[0];
631 memmove(head->head + sizeof(struct frag_hdr), head->head, 631 memmove(head->head + sizeof(struct frag_hdr), head->head,
632 (head->data - head->head) - sizeof(struct frag_hdr)); 632 (head->data - head->head) - sizeof(struct frag_hdr));
633 head->mac.raw += sizeof(struct frag_hdr); 633 head->mac.raw += sizeof(struct frag_hdr);
@@ -787,7 +787,7 @@ struct sk_buff *nf_ct_frag6_gather(struct sk_buff *skb)
787 787
788 skb_set_transport_header(clone, fhoff); 788 skb_set_transport_header(clone, fhoff);
789 hdr = ipv6_hdr(clone); 789 hdr = ipv6_hdr(clone);
790 fhdr = (struct frag_hdr *)clone->h.raw; 790 fhdr = (struct frag_hdr *)skb_transport_header(clone);
791 791
792 if (!(fhdr->frag_off & htons(0xFFF9))) { 792 if (!(fhdr->frag_off & htons(0xFFF9))) {
793 DEBUGP("Invalid fragment offset\n"); 793 DEBUGP("Invalid fragment offset\n");