net: ipv4: Add scaffolding to change completion function signature
authorHerbert Xu <herbert@gondor.apana.org.au>
Mon, 6 Feb 2023 10:22:21 +0000 (18:22 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 13 Feb 2023 10:34:48 +0000 (18:34 +0800)
This patch adds temporary scaffolding so that the Crypto API
completion function can take a void * instead of crypto_async_request.
Once affected users have been converted this can be removed.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
net/ipv4/ah4.c
net/ipv4/esp4.c

index ee4e578..1fc0231 100644 (file)
@@ -117,11 +117,11 @@ static int ip_clear_mutable_options(const struct iphdr *iph, __be32 *daddr)
        return 0;
 }
 
-static void ah_output_done(struct crypto_async_request *base, int err)
+static void ah_output_done(crypto_completion_data_t *data, int err)
 {
        u8 *icv;
        struct iphdr *iph;
-       struct sk_buff *skb = base->data;
+       struct sk_buff *skb = crypto_get_completion_data(data);
        struct xfrm_state *x = skb_dst(skb)->xfrm;
        struct ah_data *ahp = x->data;
        struct iphdr *top_iph = ip_hdr(skb);
@@ -262,12 +262,12 @@ out:
        return err;
 }
 
-static void ah_input_done(struct crypto_async_request *base, int err)
+static void ah_input_done(crypto_completion_data_t *data, int err)
 {
        u8 *auth_data;
        u8 *icv;
        struct iphdr *work_iph;
-       struct sk_buff *skb = base->data;
+       struct sk_buff *skb = crypto_get_completion_data(data);
        struct xfrm_state *x = xfrm_input_state(skb);
        struct ah_data *ahp = x->data;
        struct ip_auth_hdr *ah = ip_auth_hdr(skb);
index 52c8047..8abe07c 100644 (file)
@@ -244,9 +244,9 @@ static int esp_output_tail_tcp(struct xfrm_state *x, struct sk_buff *skb)
 }
 #endif
 
-static void esp_output_done(struct crypto_async_request *base, int err)
+static void esp_output_done(crypto_completion_data_t *data, int err)
 {
-       struct sk_buff *skb = base->data;
+       struct sk_buff *skb = crypto_get_completion_data(data);
        struct xfrm_offload *xo = xfrm_offload(skb);
        void *tmp;
        struct xfrm_state *x;
@@ -332,12 +332,12 @@ static struct ip_esp_hdr *esp_output_set_extra(struct sk_buff *skb,
        return esph;
 }
 
-static void esp_output_done_esn(struct crypto_async_request *base, int err)
+static void esp_output_done_esn(crypto_completion_data_t *data, int err)
 {
-       struct sk_buff *skb = base->data;
+       struct sk_buff *skb = crypto_get_completion_data(data);
 
        esp_output_restore_header(skb);
-       esp_output_done(base, err);
+       esp_output_done(data, err);
 }
 
 static struct ip_esp_hdr *esp_output_udp_encap(struct sk_buff *skb,
@@ -830,9 +830,9 @@ out:
 }
 EXPORT_SYMBOL_GPL(esp_input_done2);
 
-static void esp_input_done(struct crypto_async_request *base, int err)
+static void esp_input_done(crypto_completion_data_t *data, int err)
 {
-       struct sk_buff *skb = base->data;
+       struct sk_buff *skb = crypto_get_completion_data(data);
 
        xfrm_input_resume(skb, esp_input_done2(skb, err));
 }
@@ -860,12 +860,12 @@ static void esp_input_set_header(struct sk_buff *skb, __be32 *seqhi)
        }
 }
 
-static void esp_input_done_esn(struct crypto_async_request *base, int err)
+static void esp_input_done_esn(crypto_completion_data_t *data, int err)
 {
-       struct sk_buff *skb = base->data;
+       struct sk_buff *skb = crypto_get_completion_data(data);
 
        esp_input_restore_header(skb);
-       esp_input_done(base, err);
+       esp_input_done(data, err);
 }
 
 /*