-----Original Message-----
From: Stephan Mueller [mailto:[email protected]]
Sent: Wednesday, September 28, 2016 10:31 PM
To: Dey, Megha <[email protected]>
Cc: [email protected]; [email protected]
Subject: Re: sha1_mb broken
Am Mittwoch, 28. September 2016, 22:52:46 CEST schrieb Dey, Megha:
Hi Megha,
see a self contained example code attached.
> Hi Stephan,
>
> Your test code initialized the completion structure incorrectly, that led to
> the missing completion from being received. The init_completion call should
> be made before the crypto_ahash_digest call. The following change to your
> test code fixes things. ( I have also fixed what I believe is a typo
> aead->ahash)
> @@ -74,6 +74,8 @@ static unsigned int kccavs_ahash_op(struct kccavs_ahash_def
> *ahash)
> {
> int rc = 0;
>
> + init_completion(&ahash->result.completion);
> +
> rc = crypto_ahash_digest(ahash->req);
>
> switch (rc) {
>@@ -84,7 +86,7 @@ static unsigned int kccavs_ahash_op(struct kccavs_ahash_def
>*ahash)
> rc =
> wait_for_completion_interruptible(&ahash->result.completion);
> if (!rc && !ahash->result.err) {
> #ifdef OLDASYNC
> - INIT_COMPLETION(aead->result.completion);
> + INIT_COMPLETION(&ahash->result.completion);
> #else
> reinit_completion(&ahash->result.completion);
> #endif
> @@ -95,7 +97,6 @@ static unsigned int kccavs_ahash_op(struct kccavs_ahash_def
> *ahash)
> " %d\n",rc, ahash->result.err);
> break;
> }
> - init_completion(&ahash->result.completion);
>
> return rc;
>}
> This initialization of the completion structure happens correctly in the
> tcrypt test module used by the kernel, hence I did not come across this issue
> earlier.
> Thanks,
> Megha
Ciao
Stephan
--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html