From: Eric Biggers Date: Mon, 5 May 2025 20:33:45 +0000 (-0700) Subject: crypto: testmgr - enable CRYPTO_MANAGER when CRYPTO_SELFTESTS X-Git-Tag: v6.16-rc1~206^2~41 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=57999ed153ed7e651afecbabe0e998e75cf2d798;p=thirdparty%2Fkernel%2Flinux.git crypto: testmgr - enable CRYPTO_MANAGER when CRYPTO_SELFTESTS crypto/testmgr.c is compiled only when CRYPTO_MANAGER is enabled. To make CRYPTO_SELFTESTS work as expected when CRYPTO_MANAGER doesn't get enabled for another reason, automatically set CRYPTO_MANAGER to the value of CRYPTO_ALGAPI when CRYPTO_SELFTESTS is enabled. Signed-off-by: Eric Biggers Signed-off-by: Herbert Xu --- diff --git a/crypto/Kconfig b/crypto/Kconfig index 50f6e285b92ab..e9fee7818e270 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig @@ -149,10 +149,11 @@ config CRYPTO_HKDF config CRYPTO_MANAGER tristate + default CRYPTO_ALGAPI if CRYPTO_SELFTESTS select CRYPTO_MANAGER2 help - Create default cryptographic template instantiations such as - cbc(aes). + This provides the support for instantiating templates such as + cbc(aes), and the support for the crypto self-tests. config CRYPTO_MANAGER2 def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y) diff --git a/crypto/algapi.c b/crypto/algapi.c index 9030a30c89e84..25b5519e3b711 100644 --- a/crypto/algapi.c +++ b/crypto/algapi.c @@ -274,8 +274,7 @@ static struct crypto_larval *crypto_alloc_test_larval(struct crypto_alg *alg) { struct crypto_larval *larval; - if (!IS_ENABLED(CONFIG_CRYPTO_MANAGER) || - !IS_ENABLED(CONFIG_CRYPTO_SELFTESTS) || + if (!IS_ENABLED(CONFIG_CRYPTO_SELFTESTS) || (alg->cra_flags & CRYPTO_ALG_INTERNAL)) return NULL; /* No self-test needed */