diff mbox

[1/1] crypto:drbg- Fixes panic in wait_for_completion call.

Message ID 12466881.1IDO9Q7xg5@positron.chronox.de (mailing list archive)
State Accepted
Delegated to: Herbert Xu
Headers show

Commit Message

Stephan Mueller May 26, 2017, 10:12 a.m. UTC
Am Donnerstag, 25. Mai 2017, 17:23:47 CEST schrieb Harsh Jain:

Hi Harsh,

> Initialise ctr_completion variable before use.

Thank you very much for catching this.

But I think the chosen function is wrong. When we have an HMAC or Hash DRBG, this completion function does not need to be initialized.

May I ask you to check this patch?

Ciao
Stephan

---8<---

From 1ec5f753644eb9005ad758c9bfd75032602c9727 Mon Sep 17 00:00:00 2001
From: Stephan Mueller <smueller@chronox.de>
Date: Fri, 26 May 2017 12:11:31 +0200
Subject: [PATCH] crypto: drbg- Fixes panic in wait_for_completion call

Initialise ctr_completion variable before use.

Signed-off-by: Harsh Jain <harshjain.prof@gmail.com>
Signed-off-by: Stephan Mueller <smueller@chronox.de>
---
 crypto/drbg.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Harsh Jain May 26, 2017, 10:39 a.m. UTC | #1
On Fri, May 26, 2017 at 3:42 PM, Stephan Müller <smueller@chronox.de> wrote:
> Am Donnerstag, 25. Mai 2017, 17:23:47 CEST schrieb Harsh Jain:
>
> Hi Harsh,
>
>> Initialise ctr_completion variable before use.
>
> Thank you very much for catching this.
>
> But I think the chosen function is wrong. When we have an HMAC or Hash DRBG, this completion function does not need to be initialized.
>
> May I ask you to check this patch?
Yup, Its working.
>
> Ciao
> Stephan
>
> ---8<---
>
> From 1ec5f753644eb9005ad758c9bfd75032602c9727 Mon Sep 17 00:00:00 2001
> From: Stephan Mueller <smueller@chronox.de>
> Date: Fri, 26 May 2017 12:11:31 +0200
> Subject: [PATCH] crypto: drbg- Fixes panic in wait_for_completion call
>
> Initialise ctr_completion variable before use.
>
> Signed-off-by: Harsh Jain <harshjain.prof@gmail.com>
> Signed-off-by: Stephan Mueller <smueller@chronox.de>
> ---
>  crypto/drbg.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/crypto/drbg.c b/crypto/drbg.c
> index fa749f4..433c425 100644
> --- a/crypto/drbg.c
> +++ b/crypto/drbg.c
> @@ -1691,6 +1691,7 @@ static int drbg_init_sym_kernel(struct drbg_state *drbg)
>                 return PTR_ERR(sk_tfm);
>         }
>         drbg->ctr_handle = sk_tfm;
> +       init_completion(&drbg->ctr_completion);
>
>         req = skcipher_request_alloc(sk_tfm, GFP_KERNEL);
>         if (!req) {
> --
> 2.9.3
>
>
Herbert Xu June 10, 2017, 4:17 a.m. UTC | #2
On Fri, May 26, 2017 at 12:12:51PM +0200, Stephan Müller wrote:
> Am Donnerstag, 25. Mai 2017, 17:23:47 CEST schrieb Harsh Jain:
> 
> Hi Harsh,
> 
> > Initialise ctr_completion variable before use.
> 
> Thank you very much for catching this.
> 
> But I think the chosen function is wrong. When we have an HMAC or Hash DRBG, this completion function does not need to be initialized.
> 
> May I ask you to check this patch?

Patch applied.  Thanks.
Harsh Jain June 12, 2017, 6:30 a.m. UTC | #3
Hi Herbert,

Since It's a panic BUG.  Can we push this fix to stable kernel releases?

Regards
Harsh Jain

On Sat, Jun 10, 2017 at 9:47 AM, Herbert Xu <herbert@gondor.apana.org.au> wrote:
> On Fri, May 26, 2017 at 12:12:51PM +0200, Stephan Müller wrote:
>> Am Donnerstag, 25. Mai 2017, 17:23:47 CEST schrieb Harsh Jain:
>>
>> Hi Harsh,
>>
>> > Initialise ctr_completion variable before use.
>>
>> Thank you very much for catching this.
>>
>> But I think the chosen function is wrong. When we have an HMAC or Hash DRBG, this completion function does not need to be initialized.
>>
>> May I ask you to check this patch?
>
> Patch applied.  Thanks.
> --
> Email: Herbert Xu <herbert@gondor.apana.org.au>
> Home Page: http://gondor.apana.org.au/~herbert/
> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Herbert Xu June 22, 2017, 8:59 a.m. UTC | #4
On Mon, Jun 12, 2017 at 12:00:49PM +0530, Harsh Jain wrote:
> Hi Herbert,
> 
> Since It's a panic BUG.  Can we push this fix to stable kernel releases?

I have added it to crypto with a stable CC.

Thanks,
diff mbox

Patch

diff --git a/crypto/drbg.c b/crypto/drbg.c
index fa749f4..433c425 100644
--- a/crypto/drbg.c
+++ b/crypto/drbg.c
@@ -1691,6 +1691,7 @@  static int drbg_init_sym_kernel(struct drbg_state *drbg)
 		return PTR_ERR(sk_tfm);
 	}
 	drbg->ctr_handle = sk_tfm;
+	init_completion(&drbg->ctr_completion);
 
 	req = skcipher_request_alloc(sk_tfm, GFP_KERNEL);
 	if (!req) {