]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - net/ipv6/ipcomp6.c
[SK_BUFF]: unions of just one member don't get anything done, kill them
[mirror_ubuntu-bionic-kernel.git] / net / ipv6 / ipcomp6.c
index e2404a62968056afdacb013489ad31929f9b2c65..7691a1b5caac9edbc3aef4e730fec44b0ed8608d 100644 (file)
@@ -81,7 +81,7 @@ static int ipcomp6_input(struct xfrm_state *x, struct sk_buff *skb)
        /* Remove ipcomp header and decompress original payload */
        iph = ipv6_hdr(skb);
        ipch = (void *)skb->data;
-       skb->h.raw = skb->nh.raw + sizeof(*ipch);
+       skb->transport_header = skb->network_header + sizeof(*ipch);
        __skb_pull(skb, sizeof(*ipch));
 
        /* decompression */
@@ -124,15 +124,13 @@ static int ipcomp6_output(struct xfrm_state *x, struct sk_buff *skb)
 {
        int err;
        struct ipv6hdr *top_iph;
-       int hdr_len;
        struct ipv6_comp_hdr *ipch;
        struct ipcomp_data *ipcd = x->data;
        int plen, dlen;
        u8 *start, *scratch;
        struct crypto_comp *tfm;
        int cpu;
-
-       hdr_len = skb->h.raw - skb->data;
+       int hdr_len = skb_transport_offset(skb);
 
        /* check whether datagram len is larger than threshold */
        if ((skb->len - hdr_len) < ipcd->threshold) {
@@ -145,7 +143,7 @@ static int ipcomp6_output(struct xfrm_state *x, struct sk_buff *skb)
        /* compression */
        plen = skb->len - hdr_len;
        dlen = IPCOMP_SCRATCH_SIZE;
-       start = skb->h.raw;
+       start = skb_transport_header(skb);
 
        cpu = get_cpu();
        scratch = *per_cpu_ptr(ipcomp6_scratches, cpu);