xfrm: free not used XFRM_ESP_NO_TRAILER flag
authorLeon Romanovsky <leonro@nvidia.com>
Thu, 5 May 2022 10:06:38 +0000 (13:06 +0300)
committerSteffen Klassert <steffen.klassert@secunet.com>
Fri, 6 May 2022 06:24:20 +0000 (08:24 +0200)
After removal of Innova IPsec support from mlx5 driver, the last user
of this XFRM_ESP_NO_TRAILER was gone too. This means that we can safely
remove it as no other hardware is capable (or need) to remove ESP trailer.

Reviewed-by: Raed Salem <raeds@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
include/net/xfrm.h
net/ipv4/esp4.c
net/ipv6/esp6.c

index 6fb899f..b41278a 100644 (file)
@@ -1006,7 +1006,7 @@ struct xfrm_offload {
 #define        CRYPTO_FALLBACK         8
 #define        XFRM_GSO_SEGMENT        16
 #define        XFRM_GRO                32
-#define        XFRM_ESP_NO_TRAILER     64
+/* 64 is free */
 #define        XFRM_DEV_RESUME         128
 #define        XFRM_XMIT               256
 
index d747166..b21238d 100644 (file)
@@ -705,7 +705,6 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb)
 static inline int esp_remove_trailer(struct sk_buff *skb)
 {
        struct xfrm_state *x = xfrm_input_state(skb);
-       struct xfrm_offload *xo = xfrm_offload(skb);
        struct crypto_aead *aead = x->data;
        int alen, hlen, elen;
        int padlen, trimlen;
@@ -717,11 +716,6 @@ static inline int esp_remove_trailer(struct sk_buff *skb)
        hlen = sizeof(struct ip_esp_hdr) + crypto_aead_ivsize(aead);
        elen = skb->len - hlen;
 
-       if (xo && (xo->flags & XFRM_ESP_NO_TRAILER)) {
-               ret = xo->proto;
-               goto out;
-       }
-
        if (skb_copy_bits(skb, skb->len - alen - 2, nexthdr, 2))
                BUG();
 
index f2120e9..36e1d0f 100644 (file)
@@ -741,7 +741,6 @@ static int esp6_output(struct xfrm_state *x, struct sk_buff *skb)
 static inline int esp_remove_trailer(struct sk_buff *skb)
 {
        struct xfrm_state *x = xfrm_input_state(skb);
-       struct xfrm_offload *xo = xfrm_offload(skb);
        struct crypto_aead *aead = x->data;
        int alen, hlen, elen;
        int padlen, trimlen;
@@ -753,11 +752,6 @@ static inline int esp_remove_trailer(struct sk_buff *skb)
        hlen = sizeof(struct ip_esp_hdr) + crypto_aead_ivsize(aead);
        elen = skb->len - hlen;
 
-       if (xo && (xo->flags & XFRM_ESP_NO_TRAILER)) {
-               ret = xo->proto;
-               goto out;
-       }
-
        ret = skb_copy_bits(skb, skb->len - alen - 2, nexthdr, 2);
        BUG_ON(ret);