mirror of
https://github.com/torvalds/linux.git
synced 2024-12-25 20:32:22 +00:00
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:
parent
234650bd22
commit
255e48eb17
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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 @@ out:
|
||||
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)
|
||||
|
@ -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;
|
||||
|
@ -109,9 +109,9 @@ out:
|
||||
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;
|
||||
|
@ -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 @@ decrypt:
|
||||
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);
|
||||
|
@ -224,9 +224,9 @@ out:
|
||||
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);
|
||||
|
@ -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)
|
||||
|
@ -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 @@ out:
|
||||
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);
|
||||
}
|
||||
|
12
crypto/cts.c
12
crypto/cts.c
@ -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;
|
||||
|
@ -503,10 +503,9 @@ out:
|
||||
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);
|
||||
}
|
||||
|
@ -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)
|
||||
|
36
crypto/gcm.c
36
crypto/gcm.c
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
||||
|
@ -210,10 +210,9 @@ out:
|
||||
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 @@ done:
|
||||
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 @@ done:
|
||||
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;
|
||||
|
@ -36,10 +36,9 @@ out:
|
||||
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);
|
||||
|
12
crypto/xts.c
12
crypto/xts.c
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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 */
|
||||
|
@ -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,
|
||||
|
@ -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)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user