diff mbox series

[2/2] crypto: drbg: DRBG_CTR should select CTR

Message ID 1582127495-5871-2-git-send-email-clabbe@baylibre.com (mailing list archive)
State Changes Requested
Delegated to: Herbert Xu
Headers show
Series [1/2] crypto: drbg: DRBG should select SHA512 | expand

Commit Message

Corentin LABBE Feb. 19, 2020, 3:51 p.m. UTC
if CRYPTO_DRBG_CTR is builtin and CTR is module, allocating such algo
will fail.
DRBG: could not allocate CTR cipher TFM handle: ctr(aes)
alg: drbg: Failed to reset rng
alg: drbg: Test 0 failed for drbg_pr_ctr_aes128
DRBG: could not allocate CTR cipher TFM handle: ctr(aes)
alg: drbg: Failed to reset rng
alg: drbg: Test 0 failed for drbg_nopr_ctr_aes128
DRBG: could not allocate CTR cipher TFM handle: ctr(aes)
alg: drbg: Failed to reset rng
alg: drbg: Test 0 failed for drbg_nopr_ctr_aes192
DRBG: could not allocate CTR cipher TFM handle: ctr(aes)
alg: drbg: Failed to reset rng
ialg: drbg: Test 0 failed for drbg_nopr_ctr_aes256

Since setting DRBG_CTR=CTR lead to a recursive dependency, let's depends
on CTR=y

Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
---
 crypto/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Herbert Xu Feb. 28, 2020, 12:30 a.m. UTC | #1
On Wed, Feb 19, 2020 at 03:51:35PM +0000, Corentin Labbe wrote:
> if CRYPTO_DRBG_CTR is builtin and CTR is module, allocating such algo
> will fail.
> DRBG: could not allocate CTR cipher TFM handle: ctr(aes)
> alg: drbg: Failed to reset rng
> alg: drbg: Test 0 failed for drbg_pr_ctr_aes128
> DRBG: could not allocate CTR cipher TFM handle: ctr(aes)
> alg: drbg: Failed to reset rng
> alg: drbg: Test 0 failed for drbg_nopr_ctr_aes128
> DRBG: could not allocate CTR cipher TFM handle: ctr(aes)
> alg: drbg: Failed to reset rng
> alg: drbg: Test 0 failed for drbg_nopr_ctr_aes192
> DRBG: could not allocate CTR cipher TFM handle: ctr(aes)
> alg: drbg: Failed to reset rng
> ialg: drbg: Test 0 failed for drbg_nopr_ctr_aes256
> 
> Since setting DRBG_CTR=CTR lead to a recursive dependency, let's depends
> on CTR=y
> 
> Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
> ---
>  crypto/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/crypto/Kconfig b/crypto/Kconfig
> index 6d27fc6a7bf5..eddeb43fc01c 100644
> --- a/crypto/Kconfig
> +++ b/crypto/Kconfig
> @@ -1822,7 +1822,7 @@ config CRYPTO_DRBG_HASH
>  config CRYPTO_DRBG_CTR
>  	bool "Enable CTR DRBG"
>  	select CRYPTO_AES
> -	depends on CRYPTO_CTR
> +	depends on CRYPTO_CTR=y

This should be turned into a select.

Thanks,
Corentin LABBE Feb. 28, 2020, 10:23 a.m. UTC | #2
On Fri, Feb 28, 2020 at 11:30:52AM +1100, Herbert Xu wrote:
> On Wed, Feb 19, 2020 at 03:51:35PM +0000, Corentin Labbe wrote:
> > if CRYPTO_DRBG_CTR is builtin and CTR is module, allocating such algo
> > will fail.
> > DRBG: could not allocate CTR cipher TFM handle: ctr(aes)
> > alg: drbg: Failed to reset rng
> > alg: drbg: Test 0 failed for drbg_pr_ctr_aes128
> > DRBG: could not allocate CTR cipher TFM handle: ctr(aes)
> > alg: drbg: Failed to reset rng
> > alg: drbg: Test 0 failed for drbg_nopr_ctr_aes128
> > DRBG: could not allocate CTR cipher TFM handle: ctr(aes)
> > alg: drbg: Failed to reset rng
> > alg: drbg: Test 0 failed for drbg_nopr_ctr_aes192
> > DRBG: could not allocate CTR cipher TFM handle: ctr(aes)
> > alg: drbg: Failed to reset rng
> > ialg: drbg: Test 0 failed for drbg_nopr_ctr_aes256
> > 
> > Since setting DRBG_CTR=CTR lead to a recursive dependency, let's depends
> > on CTR=y
> > 
> > Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
> > ---
> >  crypto/Kconfig | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/crypto/Kconfig b/crypto/Kconfig
> > index 6d27fc6a7bf5..eddeb43fc01c 100644
> > --- a/crypto/Kconfig
> > +++ b/crypto/Kconfig
> > @@ -1822,7 +1822,7 @@ config CRYPTO_DRBG_HASH
> >  config CRYPTO_DRBG_CTR
> >  	bool "Enable CTR DRBG"
> >  	select CRYPTO_AES
> > -	depends on CRYPTO_CTR
> > +	depends on CRYPTO_CTR=y
> 
> This should be turned into a select.
> 

it fail also if I select it:
crypto/Kconfig:1800:error: recursive dependency detected!
crypto/Kconfig:1800:	symbol CRYPTO_DRBG_MENU is selected by CRYPTO_RNG_DEFAULT
crypto/Kconfig:83:	symbol CRYPTO_RNG_DEFAULT is selected by CRYPTO_SEQIV
crypto/Kconfig:330:	symbol CRYPTO_SEQIV is selected by CRYPTO_CTR
crypto/Kconfig:370:	symbol CRYPTO_CTR is selected by CRYPTO_DRBG_CTR
crypto/Kconfig:1822:	symbol CRYPTO_DRBG_CTR depends on CRYPTO_DRBG_MENU

I forgot to say it in the commit message.
I will send a v2 with an updated commit message.

Regards
diff mbox series

Patch

diff --git a/crypto/Kconfig b/crypto/Kconfig
index 6d27fc6a7bf5..eddeb43fc01c 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -1822,7 +1822,7 @@  config CRYPTO_DRBG_HASH
 config CRYPTO_DRBG_CTR
 	bool "Enable CTR DRBG"
 	select CRYPTO_AES
-	depends on CRYPTO_CTR
+	depends on CRYPTO_CTR=y
 	help
 	  Enable the CTR DRBG variant as defined in NIST SP800-90A.