crypto: api - Use data directly in completion function

This patch does the final flag day conversion of all completion
functions which are now all contained in the Crypto API.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Herbert Xu 2023-02-08 13:58:44 +08:00
parent 234650bd22
commit 255e48eb17
23 changed files with 133 additions and 152 deletions

View File

@ -308,10 +308,9 @@ static int adiantum_finish(struct skcipher_request *req)
return 0;
}
static void adiantum_streamcipher_done(struct crypto_async_request *areq,
int err)
static void adiantum_streamcipher_done(void *data, int err)
{
struct skcipher_request *req = areq->data;
struct skcipher_request *req = data;
if (!err)
err = adiantum_finish(req);

View File

@ -1186,7 +1186,7 @@ EXPORT_SYMBOL_GPL(af_alg_free_resources);
/**
* af_alg_async_cb - AIO callback handler
* @_req: async request info
* @data: async request completion data
* @err: if non-zero, error result to be returned via ki_complete();
* otherwise return the AIO output length via ki_complete().
*
@ -1196,9 +1196,9 @@ EXPORT_SYMBOL_GPL(af_alg_free_resources);
* The number of bytes to be generated with the AIO operation must be set
* in areq->outlen before the AIO callback handler is invoked.
*/
void af_alg_async_cb(struct crypto_async_request *_req, int err)
void af_alg_async_cb(void *data, int err)
{
struct af_alg_async_req *areq = _req->data;
struct af_alg_async_req *areq = data;
struct sock *sk = areq->sk;
struct kiocb *iocb = areq->iocb;
unsigned int resultlen;

View File

@ -256,9 +256,9 @@ static void ahash_restore_req(struct ahash_request *req, int err)
kfree_sensitive(subreq);
}
static void ahash_op_unaligned_done(struct crypto_async_request *req, int err)
static void ahash_op_unaligned_done(void *data, int err)
{
struct ahash_request *areq = req->data;
struct ahash_request *areq = data;
if (err == -EINPROGRESS)
goto out;
@ -348,9 +348,9 @@ int crypto_ahash_digest(struct ahash_request *req)
}
EXPORT_SYMBOL_GPL(crypto_ahash_digest);
static void ahash_def_finup_done2(struct crypto_async_request *req, int err)
static void ahash_def_finup_done2(void *data, int err)
{
struct ahash_request *areq = req->data;
struct ahash_request *areq = data;
if (err == -EINPROGRESS)
return;
@ -378,9 +378,9 @@ static int ahash_def_finup_finish1(struct ahash_request *req, int err)
return err;
}
static void ahash_def_finup_done1(struct crypto_async_request *req, int err)
static void ahash_def_finup_done1(void *data, int err)
{
struct ahash_request *areq = req->data;
struct ahash_request *areq = data;
struct ahash_request *subreq;
if (err == -EINPROGRESS)

View File

@ -643,9 +643,9 @@ int crypto_has_alg(const char *name, u32 type, u32 mask)
}
EXPORT_SYMBOL_GPL(crypto_has_alg);
void crypto_req_done(struct crypto_async_request *req, int err)
void crypto_req_done(void *data, int err)
{
struct crypto_wait *wait = req->data;
struct crypto_wait *wait = data;
if (err == -EINPROGRESS)
return;

View File

@ -109,9 +109,9 @@ static int crypto_authenc_setkey(struct crypto_aead *authenc, const u8 *key,
return err;
}
static void authenc_geniv_ahash_done(struct crypto_async_request *areq, int err)
static void authenc_geniv_ahash_done(void *data, int err)
{
struct aead_request *req = areq->data;
struct aead_request *req = data;
struct crypto_aead *authenc = crypto_aead_reqtfm(req);
struct aead_instance *inst = aead_alg_instance(authenc);
struct authenc_instance_ctx *ictx = aead_instance_ctx(inst);
@ -160,10 +160,9 @@ static int crypto_authenc_genicv(struct aead_request *req, unsigned int flags)
return 0;
}
static void crypto_authenc_encrypt_done(struct crypto_async_request *req,
int err)
static void crypto_authenc_encrypt_done(void *data, int err)
{
struct aead_request *areq = req->data;
struct aead_request *areq = data;
if (err)
goto out;
@ -261,10 +260,9 @@ static int crypto_authenc_decrypt_tail(struct aead_request *req,
return crypto_skcipher_decrypt(skreq);
}
static void authenc_verify_ahash_done(struct crypto_async_request *areq,
int err)
static void authenc_verify_ahash_done(void *data, int err)
{
struct aead_request *req = areq->data;
struct aead_request *req = data;
if (err)
goto out;

View File

@ -107,10 +107,9 @@ static int crypto_authenc_esn_genicv_tail(struct aead_request *req,
return 0;
}
static void authenc_esn_geniv_ahash_done(struct crypto_async_request *areq,
int err)
static void authenc_esn_geniv_ahash_done(void *data, int err)
{
struct aead_request *req = areq->data;
struct aead_request *req = data;
err = err ?: crypto_authenc_esn_genicv_tail(req, 0);
aead_request_complete(req, err);
@ -153,10 +152,9 @@ static int crypto_authenc_esn_genicv(struct aead_request *req,
}
static void crypto_authenc_esn_encrypt_done(struct crypto_async_request *req,
int err)
static void crypto_authenc_esn_encrypt_done(void *data, int err)
{
struct aead_request *areq = req->data;
struct aead_request *areq = data;
if (!err)
err = crypto_authenc_esn_genicv(areq, 0);
@ -258,10 +256,9 @@ static int crypto_authenc_esn_decrypt_tail(struct aead_request *req,
return crypto_skcipher_decrypt(skreq);
}
static void authenc_esn_verify_ahash_done(struct crypto_async_request *areq,
int err)
static void authenc_esn_verify_ahash_done(void *data, int err)
{
struct aead_request *req = areq->data;
struct aead_request *req = data;
err = err ?: crypto_authenc_esn_decrypt_tail(req, 0);
authenc_esn_request_complete(req, err);

View File

@ -224,9 +224,9 @@ static int crypto_ccm_auth(struct aead_request *req, struct scatterlist *plain,
return err;
}
static void crypto_ccm_encrypt_done(struct crypto_async_request *areq, int err)
static void crypto_ccm_encrypt_done(void *data, int err)
{
struct aead_request *req = areq->data;
struct aead_request *req = data;
struct crypto_aead *aead = crypto_aead_reqtfm(req);
struct crypto_ccm_req_priv_ctx *pctx = crypto_ccm_reqctx(req);
u8 *odata = pctx->odata;
@ -320,10 +320,9 @@ static int crypto_ccm_encrypt(struct aead_request *req)
return err;
}
static void crypto_ccm_decrypt_done(struct crypto_async_request *areq,
int err)
static void crypto_ccm_decrypt_done(void *data, int err)
{
struct aead_request *req = areq->data;
struct aead_request *req = data;
struct crypto_ccm_req_priv_ctx *pctx = crypto_ccm_reqctx(req);
struct crypto_aead *aead = crypto_aead_reqtfm(req);
unsigned int authsize = crypto_aead_authsize(aead);

View File

@ -115,9 +115,9 @@ static int poly_copy_tag(struct aead_request *req)
return 0;
}
static void chacha_decrypt_done(struct crypto_async_request *areq, int err)
static void chacha_decrypt_done(void *data, int err)
{
async_done_continue(areq->data, err, poly_verify_tag);
async_done_continue(data, err, poly_verify_tag);
}
static int chacha_decrypt(struct aead_request *req)
@ -161,9 +161,9 @@ static int poly_tail_continue(struct aead_request *req)
return chacha_decrypt(req);
}
static void poly_tail_done(struct crypto_async_request *areq, int err)
static void poly_tail_done(void *data, int err)
{
async_done_continue(areq->data, err, poly_tail_continue);
async_done_continue(data, err, poly_tail_continue);
}
static int poly_tail(struct aead_request *req)
@ -191,9 +191,9 @@ static int poly_tail(struct aead_request *req)
return poly_tail_continue(req);
}
static void poly_cipherpad_done(struct crypto_async_request *areq, int err)
static void poly_cipherpad_done(void *data, int err)
{
async_done_continue(areq->data, err, poly_tail);
async_done_continue(data, err, poly_tail);
}
static int poly_cipherpad(struct aead_request *req)
@ -220,9 +220,9 @@ static int poly_cipherpad(struct aead_request *req)
return poly_tail(req);
}
static void poly_cipher_done(struct crypto_async_request *areq, int err)
static void poly_cipher_done(void *data, int err)
{
async_done_continue(areq->data, err, poly_cipherpad);
async_done_continue(data, err, poly_cipherpad);
}
static int poly_cipher(struct aead_request *req)
@ -250,9 +250,9 @@ static int poly_cipher(struct aead_request *req)
return poly_cipherpad(req);
}
static void poly_adpad_done(struct crypto_async_request *areq, int err)
static void poly_adpad_done(void *data, int err)
{
async_done_continue(areq->data, err, poly_cipher);
async_done_continue(data, err, poly_cipher);
}
static int poly_adpad(struct aead_request *req)
@ -279,9 +279,9 @@ static int poly_adpad(struct aead_request *req)
return poly_cipher(req);
}
static void poly_ad_done(struct crypto_async_request *areq, int err)
static void poly_ad_done(void *data, int err)
{
async_done_continue(areq->data, err, poly_adpad);
async_done_continue(data, err, poly_adpad);
}
static int poly_ad(struct aead_request *req)
@ -303,9 +303,9 @@ static int poly_ad(struct aead_request *req)
return poly_adpad(req);
}
static void poly_setkey_done(struct crypto_async_request *areq, int err)
static void poly_setkey_done(void *data, int err)
{
async_done_continue(areq->data, err, poly_ad);
async_done_continue(data, err, poly_ad);
}
static int poly_setkey(struct aead_request *req)
@ -329,9 +329,9 @@ static int poly_setkey(struct aead_request *req)
return poly_ad(req);
}
static void poly_init_done(struct crypto_async_request *areq, int err)
static void poly_init_done(void *data, int err)
{
async_done_continue(areq->data, err, poly_setkey);
async_done_continue(data, err, poly_setkey);
}
static int poly_init(struct aead_request *req)
@ -352,9 +352,9 @@ static int poly_init(struct aead_request *req)
return poly_setkey(req);
}
static void poly_genkey_done(struct crypto_async_request *areq, int err)
static void poly_genkey_done(void *data, int err)
{
async_done_continue(areq->data, err, poly_init);
async_done_continue(data, err, poly_init);
}
static int poly_genkey(struct aead_request *req)
@ -391,9 +391,9 @@ static int poly_genkey(struct aead_request *req)
return poly_init(req);
}
static void chacha_encrypt_done(struct crypto_async_request *areq, int err)
static void chacha_encrypt_done(void *data, int err)
{
async_done_continue(areq->data, err, poly_genkey);
async_done_continue(data, err, poly_genkey);
}
static int chacha_encrypt(struct aead_request *req)

View File

@ -285,10 +285,9 @@ static void cryptd_skcipher_complete(struct skcipher_request *req, int err,
crypto_free_skcipher(tfm);
}
static void cryptd_skcipher_encrypt(struct crypto_async_request *base,
int err)
static void cryptd_skcipher_encrypt(void *data, int err)
{
struct skcipher_request *req = skcipher_request_cast(base);
struct skcipher_request *req = data;
struct skcipher_request *subreq;
subreq = cryptd_skcipher_prepare(req, err);
@ -298,10 +297,9 @@ static void cryptd_skcipher_encrypt(struct crypto_async_request *base,
cryptd_skcipher_complete(req, err, cryptd_skcipher_encrypt);
}
static void cryptd_skcipher_decrypt(struct crypto_async_request *base,
int err)
static void cryptd_skcipher_decrypt(void *data, int err)
{
struct skcipher_request *req = skcipher_request_cast(base);
struct skcipher_request *req = data;
struct skcipher_request *subreq;
subreq = cryptd_skcipher_prepare(req, err);
@ -515,9 +513,9 @@ static void cryptd_hash_complete(struct ahash_request *req, int err,
crypto_free_ahash(tfm);
}
static void cryptd_hash_init(struct crypto_async_request *req_async, int err)
static void cryptd_hash_init(void *data, int err)
{
struct ahash_request *req = ahash_request_cast(req_async);
struct ahash_request *req = data;
struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
struct cryptd_hash_ctx *ctx = crypto_ahash_ctx(tfm);
struct crypto_shash *child = ctx->child;
@ -540,9 +538,9 @@ static int cryptd_hash_init_enqueue(struct ahash_request *req)
return cryptd_hash_enqueue(req, cryptd_hash_init);
}
static void cryptd_hash_update(struct crypto_async_request *req_async, int err)
static void cryptd_hash_update(void *data, int err)
{
struct ahash_request *req = ahash_request_cast(req_async);
struct ahash_request *req = data;
struct shash_desc *desc;
desc = cryptd_hash_prepare(req, err);
@ -557,9 +555,9 @@ static int cryptd_hash_update_enqueue(struct ahash_request *req)
return cryptd_hash_enqueue(req, cryptd_hash_update);
}
static void cryptd_hash_final(struct crypto_async_request *req_async, int err)
static void cryptd_hash_final(void *data, int err)
{
struct ahash_request *req = ahash_request_cast(req_async);
struct ahash_request *req = data;
struct shash_desc *desc;
desc = cryptd_hash_prepare(req, err);
@ -574,9 +572,9 @@ static int cryptd_hash_final_enqueue(struct ahash_request *req)
return cryptd_hash_enqueue(req, cryptd_hash_final);
}
static void cryptd_hash_finup(struct crypto_async_request *req_async, int err)
static void cryptd_hash_finup(void *data, int err)
{
struct ahash_request *req = ahash_request_cast(req_async);
struct ahash_request *req = data;
struct shash_desc *desc;
desc = cryptd_hash_prepare(req, err);
@ -591,9 +589,9 @@ static int cryptd_hash_finup_enqueue(struct ahash_request *req)
return cryptd_hash_enqueue(req, cryptd_hash_finup);
}
static void cryptd_hash_digest(struct crypto_async_request *req_async, int err)
static void cryptd_hash_digest(void *data, int err)
{
struct ahash_request *req = ahash_request_cast(req_async);
struct ahash_request *req = data;
struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
struct cryptd_hash_ctx *ctx = crypto_ahash_ctx(tfm);
struct crypto_shash *child = ctx->child;
@ -767,24 +765,26 @@ static void cryptd_aead_crypt(struct aead_request *req,
crypto_free_aead(tfm);
}
static void cryptd_aead_encrypt(struct crypto_async_request *areq, int err)
static void cryptd_aead_encrypt(void *data, int err)
{
struct cryptd_aead_ctx *ctx = crypto_tfm_ctx(areq->tfm);
struct crypto_aead *child = ctx->child;
struct aead_request *req;
struct aead_request *req = data;
struct cryptd_aead_ctx *ctx;
struct crypto_aead *child;
req = container_of(areq, struct aead_request, base);
ctx = crypto_aead_ctx(crypto_aead_reqtfm(req));
child = ctx->child;
cryptd_aead_crypt(req, child, err, crypto_aead_alg(child)->encrypt,
cryptd_aead_encrypt);
}
static void cryptd_aead_decrypt(struct crypto_async_request *areq, int err)
static void cryptd_aead_decrypt(void *data, int err)
{
struct cryptd_aead_ctx *ctx = crypto_tfm_ctx(areq->tfm);
struct crypto_aead *child = ctx->child;
struct aead_request *req;
struct aead_request *req = data;
struct cryptd_aead_ctx *ctx;
struct crypto_aead *child;
req = container_of(areq, struct aead_request, base);
ctx = crypto_aead_ctx(crypto_aead_reqtfm(req));
child = ctx->child;
cryptd_aead_crypt(req, child, err, crypto_aead_alg(child)->decrypt,
cryptd_aead_decrypt);
}

View File

@ -85,9 +85,9 @@ static int crypto_cts_setkey(struct crypto_skcipher *parent, const u8 *key,
return crypto_skcipher_setkey(child, key, keylen);
}
static void cts_cbc_crypt_done(struct crypto_async_request *areq, int err)
static void cts_cbc_crypt_done(void *data, int err)
{
struct skcipher_request *req = areq->data;
struct skcipher_request *req = data;
if (err == -EINPROGRESS)
return;
@ -125,9 +125,9 @@ static int cts_cbc_encrypt(struct skcipher_request *req)
return crypto_skcipher_encrypt(subreq);
}
static void crypto_cts_encrypt_done(struct crypto_async_request *areq, int err)
static void crypto_cts_encrypt_done(void *data, int err)
{
struct skcipher_request *req = areq->data;
struct skcipher_request *req = data;
if (err)
goto out;
@ -219,9 +219,9 @@ static int cts_cbc_decrypt(struct skcipher_request *req)
return crypto_skcipher_decrypt(subreq);
}
static void crypto_cts_decrypt_done(struct crypto_async_request *areq, int err)
static void crypto_cts_decrypt_done(void *data, int err)
{
struct skcipher_request *req = areq->data;
struct skcipher_request *req = data;
if (err)
goto out;

View File

@ -503,10 +503,9 @@ static int dh_safe_prime_set_secret(struct crypto_kpp *tfm, const void *buffer,
return err;
}
static void dh_safe_prime_complete_req(struct crypto_async_request *dh_req,
int err)
static void dh_safe_prime_complete_req(void *data, int err)
{
struct kpp_request *req = dh_req->data;
struct kpp_request *req = data;
kpp_request_complete(req, err);
}

View File

@ -131,9 +131,9 @@ static int essiv_aead_setauthsize(struct crypto_aead *tfm,
return crypto_aead_setauthsize(tctx->u.aead, authsize);
}
static void essiv_skcipher_done(struct crypto_async_request *areq, int err)
static void essiv_skcipher_done(void *data, int err)
{
struct skcipher_request *req = areq->data;
struct skcipher_request *req = data;
skcipher_request_complete(req, err);
}
@ -166,9 +166,9 @@ static int essiv_skcipher_decrypt(struct skcipher_request *req)
return essiv_skcipher_crypt(req, false);
}
static void essiv_aead_done(struct crypto_async_request *areq, int err)
static void essiv_aead_done(void *data, int err)
{
struct aead_request *req = areq->data;
struct aead_request *req = data;
struct essiv_aead_request_ctx *rctx = aead_request_ctx(req);
if (err == -EINPROGRESS)

View File

@ -197,7 +197,7 @@ static inline unsigned int gcm_remain(unsigned int len)
return len ? 16 - len : 0;
}
static void gcm_hash_len_done(struct crypto_async_request *areq, int err);
static void gcm_hash_len_done(void *data, int err);
static int gcm_hash_update(struct aead_request *req,
crypto_completion_t compl,
@ -246,9 +246,9 @@ static int gcm_hash_len_continue(struct aead_request *req, u32 flags)
return gctx->complete(req, flags);
}
static void gcm_hash_len_done(struct crypto_async_request *areq, int err)
static void gcm_hash_len_done(void *data, int err)
{
struct aead_request *req = areq->data;
struct aead_request *req = data;
if (err)
goto out;
@ -267,10 +267,9 @@ static int gcm_hash_crypt_remain_continue(struct aead_request *req, u32 flags)
gcm_hash_len_continue(req, flags);
}
static void gcm_hash_crypt_remain_done(struct crypto_async_request *areq,
int err)
static void gcm_hash_crypt_remain_done(void *data, int err)
{
struct aead_request *req = areq->data;
struct aead_request *req = data;
if (err)
goto out;
@ -298,9 +297,9 @@ static int gcm_hash_crypt_continue(struct aead_request *req, u32 flags)
return gcm_hash_crypt_remain_continue(req, flags);
}
static void gcm_hash_crypt_done(struct crypto_async_request *areq, int err)
static void gcm_hash_crypt_done(void *data, int err)
{
struct aead_request *req = areq->data;
struct aead_request *req = data;
if (err)
goto out;
@ -326,10 +325,9 @@ static int gcm_hash_assoc_remain_continue(struct aead_request *req, u32 flags)
return gcm_hash_crypt_remain_continue(req, flags);
}
static void gcm_hash_assoc_remain_done(struct crypto_async_request *areq,
int err)
static void gcm_hash_assoc_remain_done(void *data, int err)
{
struct aead_request *req = areq->data;
struct aead_request *req = data;
if (err)
goto out;
@ -355,9 +353,9 @@ static int gcm_hash_assoc_continue(struct aead_request *req, u32 flags)
return gcm_hash_assoc_remain_continue(req, flags);
}
static void gcm_hash_assoc_done(struct crypto_async_request *areq, int err)
static void gcm_hash_assoc_done(void *data, int err)
{
struct aead_request *req = areq->data;
struct aead_request *req = data;
if (err)
goto out;
@ -380,9 +378,9 @@ static int gcm_hash_init_continue(struct aead_request *req, u32 flags)
return gcm_hash_assoc_remain_continue(req, flags);
}
static void gcm_hash_init_done(struct crypto_async_request *areq, int err)
static void gcm_hash_init_done(void *data, int err)
{
struct aead_request *req = areq->data;
struct aead_request *req = data;
if (err)
goto out;
@ -433,9 +431,9 @@ static int gcm_encrypt_continue(struct aead_request *req, u32 flags)
return gcm_hash(req, flags);
}
static void gcm_encrypt_done(struct crypto_async_request *areq, int err)
static void gcm_encrypt_done(void *data, int err)
{
struct aead_request *req = areq->data;
struct aead_request *req = data;
if (err)
goto out;
@ -477,9 +475,9 @@ static int crypto_gcm_verify(struct aead_request *req)
return crypto_memneq(iauth_tag, auth_tag, authsize) ? -EBADMSG : 0;
}
static void gcm_decrypt_done(struct crypto_async_request *areq, int err)
static void gcm_decrypt_done(void *data, int err)
{
struct aead_request *req = areq->data;
struct aead_request *req = data;
if (!err)
err = crypto_gcm_verify(req);

View File

@ -252,10 +252,9 @@ static int hctr2_finish(struct skcipher_request *req)
return 0;
}
static void hctr2_xctr_done(struct crypto_async_request *areq,
int err)
static void hctr2_xctr_done(void *data, int err)
{
struct skcipher_request *req = areq->data;
struct skcipher_request *req = data;
if (!err)
err = hctr2_finish(req);

View File

@ -205,9 +205,9 @@ static int lrw_xor_tweak_post(struct skcipher_request *req)
return lrw_xor_tweak(req, true);
}
static void lrw_crypt_done(struct crypto_async_request *areq, int err)
static void lrw_crypt_done(void *data, int err)
{
struct skcipher_request *req = areq->data;
struct skcipher_request *req = data;
if (!err) {
struct lrw_request_ctx *rctx = skcipher_request_ctx(req);

View File

@ -63,9 +63,9 @@ static void pcrypt_aead_serial(struct padata_priv *padata)
aead_request_complete(req->base.data, padata->info);
}
static void pcrypt_aead_done(struct crypto_async_request *areq, int err)
static void pcrypt_aead_done(void *data, int err)
{
struct aead_request *req = areq->data;
struct aead_request *req = data;
struct pcrypt_request *preq = aead_request_ctx(req);
struct padata_priv *padata = pcrypt_request_padata(preq);

View File

@ -210,10 +210,9 @@ static int pkcs1pad_encrypt_sign_complete(struct akcipher_request *req, int err)
return err;
}
static void pkcs1pad_encrypt_sign_complete_cb(
struct crypto_async_request *child_async_req, int err)
static void pkcs1pad_encrypt_sign_complete_cb(void *data, int err)
{
struct akcipher_request *req = child_async_req->data;
struct akcipher_request *req = data;
if (err == -EINPROGRESS)
goto out;
@ -326,10 +325,9 @@ static int pkcs1pad_decrypt_complete(struct akcipher_request *req, int err)
return err;
}
static void pkcs1pad_decrypt_complete_cb(
struct crypto_async_request *child_async_req, int err)
static void pkcs1pad_decrypt_complete_cb(void *data, int err)
{
struct akcipher_request *req = child_async_req->data;
struct akcipher_request *req = data;
if (err == -EINPROGRESS)
goto out;
@ -506,10 +504,9 @@ static int pkcs1pad_verify_complete(struct akcipher_request *req, int err)
return err;
}
static void pkcs1pad_verify_complete_cb(
struct crypto_async_request *child_async_req, int err)
static void pkcs1pad_verify_complete_cb(void *data, int err)
{
struct akcipher_request *req = child_async_req->data;
struct akcipher_request *req = data;
if (err == -EINPROGRESS)
goto out;

View File

@ -36,10 +36,9 @@ static void seqiv_aead_encrypt_complete2(struct aead_request *req, int err)
kfree_sensitive(subreq->iv);
}
static void seqiv_aead_encrypt_complete(struct crypto_async_request *base,
int err)
static void seqiv_aead_encrypt_complete(void *data, int err)
{
struct aead_request *req = base->data;
struct aead_request *req = data;
seqiv_aead_encrypt_complete2(req, err);
aead_request_complete(req, err);

View File

@ -140,9 +140,9 @@ static int xts_xor_tweak_post(struct skcipher_request *req, bool enc)
return xts_xor_tweak(req, true, enc);
}
static void xts_cts_done(struct crypto_async_request *areq, int err)
static void xts_cts_done(void *data, int err)
{
struct skcipher_request *req = areq->data;
struct skcipher_request *req = data;
le128 b;
if (!err) {
@ -196,9 +196,9 @@ static int xts_cts_final(struct skcipher_request *req,
return 0;
}
static void xts_encrypt_done(struct crypto_async_request *areq, int err)
static void xts_encrypt_done(void *data, int err)
{
struct skcipher_request *req = areq->data;
struct skcipher_request *req = data;
if (!err) {
struct xts_request_ctx *rctx = skcipher_request_ctx(req);
@ -216,9 +216,9 @@ static void xts_encrypt_done(struct crypto_async_request *areq, int err)
skcipher_request_complete(req, err);
}
static void xts_decrypt_done(struct crypto_async_request *areq, int err)
static void xts_decrypt_done(void *data, int err)
{
struct skcipher_request *req = areq->data;
struct skcipher_request *req = data;
if (!err) {
struct xts_request_ctx *rctx = skcipher_request_ctx(req);

View File

@ -2099,10 +2099,9 @@ struct atmel_sha_authenc_reqctx {
unsigned int digestlen;
};
static void atmel_sha_authenc_complete(struct crypto_async_request *areq,
int err)
static void atmel_sha_authenc_complete(void *data, int err)
{
struct ahash_request *req = areq->data;
struct ahash_request *req = data;
struct atmel_sha_authenc_reqctx *authctx = ahash_request_ctx(req);
authctx->cb(authctx->aes_dev, err, authctx->base.dd->is_async);

View File

@ -305,8 +305,7 @@ enum {
static inline void crypto_request_complete(struct crypto_async_request *req,
int err)
{
crypto_completion_t complete = req->complete;
complete(req, err);
req->complete(req->data, err);
}
#endif /* _CRYPTO_ALGAPI_H */

View File

@ -21,8 +21,6 @@
#define ALG_MAX_PAGES 16
struct crypto_async_request;
struct alg_sock {
/* struct sock must be the first member of struct alg_sock */
struct sock sk;
@ -235,7 +233,7 @@ int af_alg_sendmsg(struct socket *sock, struct msghdr *msg, size_t size,
ssize_t af_alg_sendpage(struct socket *sock, struct page *page,
int offset, size_t size, int flags);
void af_alg_free_resources(struct af_alg_async_req *areq);
void af_alg_async_cb(struct crypto_async_request *_req, int err);
void af_alg_async_cb(void *data, int err);
__poll_t af_alg_poll(struct file *file, struct socket *sock,
poll_table *wait);
struct af_alg_async_req *af_alg_alloc_areq(struct sock *sk,

View File

@ -176,8 +176,8 @@ struct crypto_async_request;
struct crypto_tfm;
struct crypto_type;
typedef struct crypto_async_request crypto_completion_data_t;
typedef void (*crypto_completion_t)(struct crypto_async_request *req, int err);
typedef void crypto_completion_data_t;
typedef void (*crypto_completion_t)(void *req, int err);
/**
* DOC: Block Cipher Context Data Structures
@ -596,12 +596,12 @@ struct crypto_wait {
/*
* Async ops completion helper functioons
*/
static inline void *crypto_get_completion_data(crypto_completion_data_t *req)
static inline void *crypto_get_completion_data(void *data)
{
return req->data;
return data;
}
void crypto_req_done(struct crypto_async_request *req, int err);
void crypto_req_done(void *req, int err);
static inline int crypto_wait_req(int err, struct crypto_wait *wait)
{