mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-03 22:57:21 -04:00
crypto: sun8i-ce-hash - use API helpers to setup fallback request
Rather than setting up the fallback request by hand, use ahash_request_set_callback() and ahash_request_set_crypt() API helpers to properly setup the new request. Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
committed by
Herbert Xu
parent
593c76e1aa
commit
bfc68ebefb
@@ -92,7 +92,9 @@ int sun8i_ce_hash_init(struct ahash_request *areq)
|
||||
memset(rctx, 0, sizeof(struct sun8i_ce_hash_reqctx));
|
||||
|
||||
ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm);
|
||||
rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP;
|
||||
ahash_request_set_callback(&rctx->fallback_req,
|
||||
areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP,
|
||||
areq->base.complete, areq->base.data);
|
||||
|
||||
return crypto_ahash_init(&rctx->fallback_req);
|
||||
}
|
||||
@@ -104,7 +106,9 @@ int sun8i_ce_hash_export(struct ahash_request *areq, void *out)
|
||||
struct sun8i_ce_hash_tfm_ctx *tfmctx = crypto_ahash_ctx(tfm);
|
||||
|
||||
ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm);
|
||||
rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP;
|
||||
ahash_request_set_callback(&rctx->fallback_req,
|
||||
areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP,
|
||||
areq->base.complete, areq->base.data);
|
||||
|
||||
return crypto_ahash_export(&rctx->fallback_req, out);
|
||||
}
|
||||
@@ -116,7 +120,9 @@ int sun8i_ce_hash_import(struct ahash_request *areq, const void *in)
|
||||
struct sun8i_ce_hash_tfm_ctx *tfmctx = crypto_ahash_ctx(tfm);
|
||||
|
||||
ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm);
|
||||
rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP;
|
||||
ahash_request_set_callback(&rctx->fallback_req,
|
||||
areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP,
|
||||
areq->base.complete, areq->base.data);
|
||||
|
||||
return crypto_ahash_import(&rctx->fallback_req, in);
|
||||
}
|
||||
@@ -130,9 +136,10 @@ int sun8i_ce_hash_final(struct ahash_request *areq)
|
||||
sun8i_ce_hash_stat_fb_inc(tfm);
|
||||
|
||||
ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm);
|
||||
rctx->fallback_req.base.flags = areq->base.flags &
|
||||
CRYPTO_TFM_REQ_MAY_SLEEP;
|
||||
rctx->fallback_req.result = areq->result;
|
||||
ahash_request_set_callback(&rctx->fallback_req,
|
||||
areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP,
|
||||
areq->base.complete, areq->base.data);
|
||||
ahash_request_set_crypt(&rctx->fallback_req, NULL, areq->result, 0);
|
||||
|
||||
return crypto_ahash_final(&rctx->fallback_req);
|
||||
}
|
||||
@@ -144,10 +151,10 @@ int sun8i_ce_hash_update(struct ahash_request *areq)
|
||||
struct sun8i_ce_hash_tfm_ctx *tfmctx = crypto_ahash_ctx(tfm);
|
||||
|
||||
ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm);
|
||||
rctx->fallback_req.base.flags = areq->base.flags &
|
||||
CRYPTO_TFM_REQ_MAY_SLEEP;
|
||||
rctx->fallback_req.nbytes = areq->nbytes;
|
||||
rctx->fallback_req.src = areq->src;
|
||||
ahash_request_set_callback(&rctx->fallback_req,
|
||||
areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP,
|
||||
areq->base.complete, areq->base.data);
|
||||
ahash_request_set_crypt(&rctx->fallback_req, areq->src, NULL, areq->nbytes);
|
||||
|
||||
return crypto_ahash_update(&rctx->fallback_req);
|
||||
}
|
||||
@@ -161,12 +168,11 @@ int sun8i_ce_hash_finup(struct ahash_request *areq)
|
||||
sun8i_ce_hash_stat_fb_inc(tfm);
|
||||
|
||||
ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm);
|
||||
rctx->fallback_req.base.flags = areq->base.flags &
|
||||
CRYPTO_TFM_REQ_MAY_SLEEP;
|
||||
|
||||
rctx->fallback_req.nbytes = areq->nbytes;
|
||||
rctx->fallback_req.src = areq->src;
|
||||
rctx->fallback_req.result = areq->result;
|
||||
ahash_request_set_callback(&rctx->fallback_req,
|
||||
areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP,
|
||||
areq->base.complete, areq->base.data);
|
||||
ahash_request_set_crypt(&rctx->fallback_req, areq->src, areq->result,
|
||||
areq->nbytes);
|
||||
|
||||
return crypto_ahash_finup(&rctx->fallback_req);
|
||||
}
|
||||
@@ -180,12 +186,11 @@ static int sun8i_ce_hash_digest_fb(struct ahash_request *areq)
|
||||
sun8i_ce_hash_stat_fb_inc(tfm);
|
||||
|
||||
ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm);
|
||||
rctx->fallback_req.base.flags = areq->base.flags &
|
||||
CRYPTO_TFM_REQ_MAY_SLEEP;
|
||||
|
||||
rctx->fallback_req.nbytes = areq->nbytes;
|
||||
rctx->fallback_req.src = areq->src;
|
||||
rctx->fallback_req.result = areq->result;
|
||||
ahash_request_set_callback(&rctx->fallback_req,
|
||||
areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP,
|
||||
areq->base.complete, areq->base.data);
|
||||
ahash_request_set_crypt(&rctx->fallback_req, areq->src, areq->result,
|
||||
areq->nbytes);
|
||||
|
||||
return crypto_ahash_digest(&rctx->fallback_req);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user