OSDN Git Service

[SK_BUFF]: Use the helpers to get the layer header pointer
[uclinux-h8/linux.git] / net / ipv6 / netfilter / nf_conntrack_reasm.c
index 0159505..84ce5b3 100644 (file)
@@ -627,7 +627,7 @@ nf_ct_frag6_reasm(struct nf_ct_frag6_queue *fq, struct net_device *dev)
 
        /* We have to remove fragment header from datagram and to relocate
         * header in order to calculate ICV correctly. */
-       skb_network_header(head)[fq->nhoffset] = head->h.raw[0];
+       skb_network_header(head)[fq->nhoffset] = skb_transport_header(head)[0];
        memmove(head->head + sizeof(struct frag_hdr), head->head,
                (head->data - head->head) - sizeof(struct frag_hdr));
        head->mac.raw += sizeof(struct frag_hdr);
@@ -787,7 +787,7 @@ struct sk_buff *nf_ct_frag6_gather(struct sk_buff *skb)
 
        skb_set_transport_header(clone, fhoff);
        hdr = ipv6_hdr(clone);
-       fhdr = (struct frag_hdr *)clone->h.raw;
+       fhdr = (struct frag_hdr *)skb_transport_header(clone);
 
        if (!(fhdr->frag_off & htons(0xFFF9))) {
                DEBUGP("Invalid fragment offset\n");