2012-06-27 11:58:33

by Steffen Klassert

[permalink] [raw]
Subject: [PATCH] crypto: algapi - Fix hang on crypto allocation

git commit 398710379 (crypto: algapi - Move larval completion
into algboss) replaced accidentally a call to complete_all() by
a call to complete(). This causes a hang on crypto allocation
if we have more than one larval waiter. This pach restores the
call to complete_all().

Signed-off-by: Steffen Klassert <[email protected]>
---
crypto/algboss.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/crypto/algboss.c b/crypto/algboss.c
index f97027e..769219b 100644
--- a/crypto/algboss.c
+++ b/crypto/algboss.c
@@ -87,7 +87,7 @@ static int cryptomgr_probe(void *data)
crypto_tmpl_put(tmpl);

out:
- complete(param->completion);
+ complete_all(param->completion);
kfree(param);
module_put_and_exit(0);
}
--
1.7.0.4


2012-06-27 12:58:34

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH] crypto: algapi - Fix hang on crypto allocation

On Wed, Jun 27, 2012 at 01:31:01PM +0200, Steffen Klassert wrote:
> git commit 398710379 (crypto: algapi - Move larval completion
> into algboss) replaced accidentally a call to complete_all() by
> a call to complete(). This causes a hang on crypto allocation
> if we have more than one larval waiter. This pach restores the
> call to complete_all().
>
> Signed-off-by: Steffen Klassert <[email protected]>

Good catch! Patch applied.

Thanks!
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt