Thread (8 messages) 8 messages, 2 authors, 2016-06-03

Re: [PATCH 2/2] crypto : async implementation for sha1-mb

From: Megha Dey <hidden>
Date: 2016-06-02 17:14:54
Also in: lkml

On Thu, 2016-06-02 at 18:33 +0800, Herbert Xu wrote:
On Tue, May 31, 2016 at 02:42:21PM -0700, Megha Dey wrote:
quoted
@@ -416,8 +421,8 @@ static void mcryptd_hash_finup(struct crypto_async_request *req_async, int err)
 
 	if (unlikely(err == -EINPROGRESS))
 		goto out;
-
-	err = shash_ahash_mcryptd_finup(req, &rctx->desc);
+	rctx->out = req->result;
+	err = shash_ahash_mcryptd_finup(req, &rctx->areq);
These shash_ahash functions should be renamed.

Also why are they exported?
taken care of this.
quoted
@@ -439,17 +444,18 @@ static int mcryptd_hash_finup_enqueue(struct ahash_request *req)
 static void mcryptd_hash_digest(struct crypto_async_request *req_async, int err)
 {
 	struct mcryptd_hash_ctx *ctx = crypto_tfm_ctx(req_async->tfm);
-	struct crypto_shash *child = ctx->child;
+	struct crypto_ahash *child = ctx->child;
 	struct ahash_request *req = ahash_request_cast(req_async);
 	struct mcryptd_hash_request_ctx *rctx = ahash_request_ctx(req);
-	struct shash_desc *desc = &rctx->desc;
+	struct ahash_request *desc = &rctx->areq;
+	struct crypto_async_request *base = &desc->base;
 
 	if (unlikely(err == -EINPROGRESS))
 		goto out;
+	base->tfm = &child->base;
+	base->flags = CRYPTO_TFM_REQ_MAY_SLEEP;  /* check this again */
You should not be touching crypto_async_request directly.  Use
the proper ahash interface to set the child request.
Herbert, Could you please clarify?
In the earlier code we had a async_request which is now replaced by
crypto_async_request. Do you want a new async_request to be used?
Do you think we shouldn't be setting the members of the
crypto_ahash_request directly, but use some other interface to do the
same for us?
Thanks,
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help