2020-04-30 08:13:30

by Wei Yongjun

[permalink] [raw]
Subject: [PATCH -next] crypto: drbg - fix error return code in drbg_alloc_state()

Fix to return negative error code -ENOMEM from the kzalloc error handling
case instead of 0, as done elsewhere in this function.

Fixes: db07cd26ac6a ("crypto: drbg - add FIPS 140-2 CTRNG for noise source")
Signed-off-by: Wei Yongjun <[email protected]>
---
crypto/drbg.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/crypto/drbg.c b/crypto/drbg.c
index e57901d8545b..37526eb8c5d5 100644
--- a/crypto/drbg.c
+++ b/crypto/drbg.c
@@ -1306,8 +1306,10 @@ static inline int drbg_alloc_state(struct drbg_state *drbg)
if (IS_ENABLED(CONFIG_CRYPTO_FIPS)) {
drbg->prev = kzalloc(drbg_sec_strength(drbg->core->flags),
GFP_KERNEL);
- if (!drbg->prev)
+ if (!drbg->prev) {
+ ret = -ENOMEM;
goto fini;
+ }
drbg->fips_primed = false;
}




2020-04-30 08:19:15

by Stephan Mueller

[permalink] [raw]
Subject: Re: [PATCH -next] crypto: drbg - fix error return code in drbg_alloc_state()

Am Donnerstag, 30. April 2020, 10:13:53 CEST schrieb Wei Yongjun:

Hi Wei,

> Fix to return negative error code -ENOMEM from the kzalloc error handling
> case instead of 0, as done elsewhere in this function.
>
> Fixes: db07cd26ac6a ("crypto: drbg - add FIPS 140-2 CTRNG for noise source")
> Signed-off-by: Wei Yongjun <[email protected]>
> ---
> crypto/drbg.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/crypto/drbg.c b/crypto/drbg.c
> index e57901d8545b..37526eb8c5d5 100644
> --- a/crypto/drbg.c
> +++ b/crypto/drbg.c
> @@ -1306,8 +1306,10 @@ static inline int drbg_alloc_state(struct drbg_state
> *drbg) if (IS_ENABLED(CONFIG_CRYPTO_FIPS)) {
> drbg->prev = kzalloc(drbg_sec_strength(drbg->core->flags),
> GFP_KERNEL);
> - if (!drbg->prev)
> + if (!drbg->prev) {
> + ret = -ENOMEM;
> goto fini;
> + }
> drbg->fips_primed = false;
> }

Thank you

Reviewed-by: Stephan Mueller <[email protected]>

Ciao
Stephan