diff mbox series

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

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

Commit Message

Corentin Labbe March 10, 2020, 9:05 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

Just selecting CTR lead also to a recursive dependency:
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

Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
---
Changes since v1:
- Updated commit message with recursive dependency

 crypto/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Herbert Xu March 20, 2020, 2:47 a.m. UTC | #1
On Tue, Mar 10, 2020 at 09:05:38PM +0000, Corentin Labbe wrote:
>
> Just selecting CTR lead also to a recursive dependency:
> 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

The SEQIV select from CTR is historical and no longer necessary.
So let's just get rid of that and then DRBG can select CTR without
running into loops.

Thanks,
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.