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

From: LABBE Corentin
Date: Fri Feb 28 2020 - 05:23:54 EST


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@xxxxxxxxxxxx>
> > ---
> > 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