xfrm: prefer secpath_set over secpath_dup
[linux-2.6-block.git] / drivers / net / ethernet / intel / ixgbevf / ipsec.c
index 07644e6bf498350e8697f67702225d874c3e729b..5170dd9d8705b0b6467151b9154e5f7b2ea8d78a 100644 (file)
@@ -548,6 +548,7 @@ void ixgbevf_ipsec_rx(struct ixgbevf_ring *rx_ring,
        struct xfrm_state *xs = NULL;
        struct ipv6hdr *ip6 = NULL;
        struct iphdr *ip4 = NULL;
+       struct sec_path *sp;
        void *daddr;
        __be32 spi;
        u8 *c_hdr;
@@ -587,12 +588,12 @@ void ixgbevf_ipsec_rx(struct ixgbevf_ring *rx_ring,
        if (unlikely(!xs))
                return;
 
-       skb->sp = secpath_dup(skb->sp);
-       if (unlikely(!skb->sp))
+       sp = secpath_set(skb);
+       if (unlikely(!sp))
                return;
 
-       skb->sp->xvec[skb->sp->len++] = xs;
-       skb->sp->olen++;
+       sp->xvec[sp->len++] = xs;
+       sp->olen++;
        xo = xfrm_offload(skb);
        xo->flags = CRYPTO_DONE;
        xo->status = CRYPTO_SUCCESS;