summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@kernel.org>2026-03-27 16:08:18 -0700
committerHerbert Xu <herbert@gondor.apana.org.au>2026-04-03 08:56:13 +0800
commitcdadc14359378c0cf02251c86ffbc606f55bfadd (patch)
tree76e6ca9ccf1b20024e69cbc05a62a483767c37af
parent51d0f5020deeef1c678b7e3e71420b2842215662 (diff)
crypto: cryptomgr - Select algorithm types only when CRYPTO_SELFTESTS
Enabling any template selects CRYPTO_MANAGER, which causes CRYPTO_MANAGER2 to enable itself, which selects every algorithm type option. However, pulling in all algorithm types is needed only when the self-tests are enabled. So condition the selections accordingly. To make this possible, also add the missing selections to various symbols that were relying on transitive selections via CRYPTO_MANAGER. Signed-off-by: Eric Biggers <ebiggers@kernel.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--crypto/Kconfig27
-rw-r--r--drivers/crypto/Kconfig1
-rw-r--r--drivers/crypto/allwinner/Kconfig2
-rw-r--r--drivers/crypto/intel/qat/Kconfig1
4 files changed, 23 insertions, 8 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig
index 13686f033413..0731ceab8d9b 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -153,19 +153,20 @@ config CRYPTO_MANAGER
config CRYPTO_MANAGER2
def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y)
- select CRYPTO_ACOMP2
- select CRYPTO_AEAD2
- select CRYPTO_AKCIPHER2
- select CRYPTO_SIG2
- select CRYPTO_HASH2
- select CRYPTO_KPP2
- select CRYPTO_RNG2
- select CRYPTO_SKCIPHER2
+ select CRYPTO_ACOMP2 if CRYPTO_SELFTESTS
+ select CRYPTO_AEAD2 if CRYPTO_SELFTESTS
+ select CRYPTO_AKCIPHER2 if CRYPTO_SELFTESTS
+ select CRYPTO_SIG2 if CRYPTO_SELFTESTS
+ select CRYPTO_HASH2 if CRYPTO_SELFTESTS
+ select CRYPTO_KPP2 if CRYPTO_SELFTESTS
+ select CRYPTO_RNG2 if CRYPTO_SELFTESTS
+ select CRYPTO_SKCIPHER2 if CRYPTO_SELFTESTS
config CRYPTO_USER
tristate "Userspace cryptographic algorithm configuration"
depends on NET
select CRYPTO_MANAGER
+ select CRYPTO_RNG
help
Userspace configuration for cryptographic instantiations such as
cbc(aes).
@@ -220,6 +221,7 @@ config CRYPTO_PCRYPT
config CRYPTO_CRYPTD
tristate "Software async crypto daemon"
+ select CRYPTO_AEAD
select CRYPTO_SKCIPHER
select CRYPTO_HASH
select CRYPTO_MANAGER
@@ -253,7 +255,10 @@ config CRYPTO_KRB5ENC
config CRYPTO_BENCHMARK
tristate "Crypto benchmarking module"
depends on m || EXPERT
+ select CRYPTO_AEAD
+ select CRYPTO_HASH
select CRYPTO_MANAGER
+ select CRYPTO_SKCIPHER
help
Quick & dirty crypto benchmarking module.
@@ -263,10 +268,16 @@ config CRYPTO_BENCHMARK
config CRYPTO_SIMD
tristate
+ select CRYPTO_AEAD
select CRYPTO_CRYPTD
config CRYPTO_ENGINE
tristate
+ select CRYPTO_AEAD
+ select CRYPTO_AKCIPHER
+ select CRYPTO_HASH
+ select CRYPTO_KPP
+ select CRYPTO_SKCIPHER
endmenu
diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
index 16fa56898d35..189f5beb8bfa 100644
--- a/drivers/crypto/Kconfig
+++ b/drivers/crypto/Kconfig
@@ -301,6 +301,7 @@ config CRYPTO_DEV_PPC4XX
select CRYPTO_CCM
select CRYPTO_CTR
select CRYPTO_GCM
+ select CRYPTO_RNG
select CRYPTO_SKCIPHER
help
This option allows you to have support for AMCC crypto acceleration.
diff --git a/drivers/crypto/allwinner/Kconfig b/drivers/crypto/allwinner/Kconfig
index b8e75210a0e3..7270e5fbc573 100644
--- a/drivers/crypto/allwinner/Kconfig
+++ b/drivers/crypto/allwinner/Kconfig
@@ -14,6 +14,7 @@ config CRYPTO_DEV_SUN4I_SS
select CRYPTO_SHA1
select CRYPTO_AES
select CRYPTO_LIB_DES
+ select CRYPTO_RNG
select CRYPTO_SKCIPHER
help
Some Allwinner SoC have a crypto accelerator named
@@ -49,6 +50,7 @@ config CRYPTO_DEV_SUN8I_CE
select CRYPTO_CBC
select CRYPTO_AES
select CRYPTO_DES
+ select CRYPTO_RNG
depends on CRYPTO_DEV_ALLWINNER
depends on PM
help
diff --git a/drivers/crypto/intel/qat/Kconfig b/drivers/crypto/intel/qat/Kconfig
index 4b4861460dd4..6734b746ea70 100644
--- a/drivers/crypto/intel/qat/Kconfig
+++ b/drivers/crypto/intel/qat/Kconfig
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config CRYPTO_DEV_QAT
tristate
+ select CRYPTO_ACOMP
select CRYPTO_AEAD
select CRYPTO_AUTHENC
select CRYPTO_SKCIPHER