mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-23 23:32:30 -05:00
The ARCH_MAY_HAVE patch missed arm64, mips and s390. But it may
also lead to arch options being enabled but ineffective because
of modular/built-in conflicts.
As the primary user of all these options wireguard is selecting
the arch options anyway, make the same selections at the lib/crypto
option level and hide the arch options from the user.
Instead of selecting them centrally from lib/crypto, simply set
the default of each arch option as suggested by Eric Biggers.
Change the Crypto API generic algorithms to select the top-level
lib/crypto options instead of the generic one as otherwise there
is no way to enable the arch options (Eric Biggers). Introduce a
set of INTERNAL options to work around dependency cycles on the
CONFIG_CRYPTO symbol.
Fixes: 1047e21aec ("crypto: lib/Kconfig - Fix lib built-in failure when arch is modular")
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Arnd Bergmann <arnd@kernel.org>
Closes: https://lore.kernel.org/oe-kbuild-all/202502232152.JC84YDLp-lkp@intel.com/
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
69 lines
1.6 KiB
Plaintext
69 lines
1.6 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
menu "Accelerated Cryptographic Algorithms for CPU (mips)"
|
|
|
|
config CRYPTO_POLY1305_MIPS
|
|
tristate
|
|
depends on MIPS
|
|
select CRYPTO_HASH
|
|
select CRYPTO_ARCH_HAVE_LIB_POLY1305
|
|
default CRYPTO_LIB_POLY1305_INTERNAL
|
|
help
|
|
Poly1305 authenticator algorithm (RFC7539)
|
|
|
|
Architecture: mips
|
|
|
|
config CRYPTO_MD5_OCTEON
|
|
tristate "Digests: MD5 (OCTEON)"
|
|
depends on CPU_CAVIUM_OCTEON
|
|
select CRYPTO_MD5
|
|
select CRYPTO_HASH
|
|
help
|
|
MD5 message digest algorithm (RFC1321)
|
|
|
|
Architecture: mips OCTEON using crypto instructions, when available
|
|
|
|
config CRYPTO_SHA1_OCTEON
|
|
tristate "Hash functions: SHA-1 (OCTEON)"
|
|
depends on CPU_CAVIUM_OCTEON
|
|
select CRYPTO_SHA1
|
|
select CRYPTO_HASH
|
|
help
|
|
SHA-1 secure hash algorithm (FIPS 180)
|
|
|
|
Architecture: mips OCTEON
|
|
|
|
config CRYPTO_SHA256_OCTEON
|
|
tristate "Hash functions: SHA-224 and SHA-256 (OCTEON)"
|
|
depends on CPU_CAVIUM_OCTEON
|
|
select CRYPTO_SHA256
|
|
select CRYPTO_HASH
|
|
help
|
|
SHA-224 and SHA-256 secure hash algorithms (FIPS 180)
|
|
|
|
Architecture: mips OCTEON using crypto instructions, when available
|
|
|
|
config CRYPTO_SHA512_OCTEON
|
|
tristate "Hash functions: SHA-384 and SHA-512 (OCTEON)"
|
|
depends on CPU_CAVIUM_OCTEON
|
|
select CRYPTO_SHA512
|
|
select CRYPTO_HASH
|
|
help
|
|
SHA-384 and SHA-512 secure hash algorithms (FIPS 180)
|
|
|
|
Architecture: mips OCTEON using crypto instructions, when available
|
|
|
|
config CRYPTO_CHACHA_MIPS
|
|
tristate
|
|
depends on CPU_MIPS32_R2
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_ARCH_HAVE_LIB_CHACHA
|
|
default CRYPTO_LIB_CHACHA_INTERNAL
|
|
help
|
|
Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12
|
|
stream cipher algorithms
|
|
|
|
Architecture: MIPS32r2
|
|
|
|
endmenu
|