net: ipv6: Add scaffolding to change completion function signature
authorHerbert Xu <herbert@gondor.apana.org.au>
Mon, 6 Feb 2023 10:22:23 +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/ipv6/ah6.c
net/ipv6/esp6.c

index 5228d27162893e4f2eecac9303533f4e85596cf1..e43735578a7608bac50d4dccbed260de39ca776d 100644 (file)
@@ -281,12 +281,12 @@ static int ipv6_clear_mutable_options(struct ipv6hdr *iph, int len, int dir)
        return 0;
 }
 
-static void ah6_output_done(struct crypto_async_request *base, int err)
+static void ah6_output_done(crypto_completion_data_t *data, int err)
 {
        int extlen;
        u8 *iph_base;
        u8 *icv;
-       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 ipv6hdr *top_iph = ipv6_hdr(skb);
@@ -451,12 +451,12 @@ out:
        return err;
 }
 
-static void ah6_input_done(struct crypto_async_request *base, int err)
+static void ah6_input_done(crypto_completion_data_t *data, int err)
 {
        u8 *auth_data;
        u8 *icv;
        u8 *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 14ed868680c6acb4f91a8fe5e0ee9719f171695d..b9ee81c7dfcf049156b1b9205262c0bd342828bc 100644 (file)
@@ -278,9 +278,9 @@ static void esp_output_encap_csum(struct sk_buff *skb)
        }
 }
 
-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;
@@ -368,12 +368,12 @@ static struct ip_esp_hdr *esp_output_set_esn(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 *esp6_output_udp_encap(struct sk_buff *skb,
@@ -879,9 +879,9 @@ out:
 }
 EXPORT_SYMBOL_GPL(esp6_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, esp6_input_done2(skb, err));
 }
@@ -909,12 +909,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);
 }
 
 static int esp6_input(struct xfrm_state *x, struct sk_buff *skb)