67727c5764
commit 17ec3e71ba797cdb62164fea9532c81b60f47167 upstream.
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: 1047e21aecdf ("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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
147 lines
3.3 KiB
Plaintext
147 lines
3.3 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
menu "Accelerated Cryptographic Algorithms for CPU (s390)"
|
|
|
|
config CRYPTO_CRC32_S390
|
|
tristate "CRC32c and CRC32"
|
|
depends on S390
|
|
select CRYPTO_HASH
|
|
select CRC32
|
|
help
|
|
CRC32c and CRC32 CRC algorithms
|
|
|
|
Architecture: s390
|
|
|
|
It is available with IBM z13 or later.
|
|
|
|
config CRYPTO_SHA512_S390
|
|
tristate "Hash functions: SHA-384 and SHA-512"
|
|
depends on S390
|
|
select CRYPTO_HASH
|
|
help
|
|
SHA-384 and SHA-512 secure hash algorithms (FIPS 180)
|
|
|
|
Architecture: s390
|
|
|
|
It is available as of z10.
|
|
|
|
config CRYPTO_SHA1_S390
|
|
tristate "Hash functions: SHA-1"
|
|
depends on S390
|
|
select CRYPTO_HASH
|
|
help
|
|
SHA-1 secure hash algorithm (FIPS 180)
|
|
|
|
Architecture: s390
|
|
|
|
It is available as of z990.
|
|
|
|
config CRYPTO_SHA256_S390
|
|
tristate "Hash functions: SHA-224 and SHA-256"
|
|
depends on S390
|
|
select CRYPTO_HASH
|
|
help
|
|
SHA-224 and SHA-256 secure hash algorithms (FIPS 180)
|
|
|
|
Architecture: s390
|
|
|
|
It is available as of z9.
|
|
|
|
config CRYPTO_SHA3_256_S390
|
|
tristate "Hash functions: SHA3-224 and SHA3-256"
|
|
depends on S390
|
|
select CRYPTO_HASH
|
|
help
|
|
SHA3-224 and SHA3-256 secure hash algorithms (FIPS 202)
|
|
|
|
Architecture: s390
|
|
|
|
It is available as of z14.
|
|
|
|
config CRYPTO_SHA3_512_S390
|
|
tristate "Hash functions: SHA3-384 and SHA3-512"
|
|
depends on S390
|
|
select CRYPTO_HASH
|
|
help
|
|
SHA3-384 and SHA3-512 secure hash algorithms (FIPS 202)
|
|
|
|
Architecture: s390
|
|
|
|
It is available as of z14.
|
|
|
|
config CRYPTO_GHASH_S390
|
|
tristate "Hash functions: GHASH"
|
|
depends on S390
|
|
select CRYPTO_HASH
|
|
help
|
|
GCM GHASH hash function (NIST SP800-38D)
|
|
|
|
Architecture: s390
|
|
|
|
It is available as of z196.
|
|
|
|
config CRYPTO_AES_S390
|
|
tristate "Ciphers: AES, modes: ECB, CBC, CTR, XTS, GCM"
|
|
depends on S390
|
|
select CRYPTO_ALGAPI
|
|
select CRYPTO_SKCIPHER
|
|
help
|
|
Block cipher: AES cipher algorithms (FIPS 197)
|
|
AEAD cipher: AES with GCM
|
|
Length-preserving ciphers: AES with ECB, CBC, XTS, and CTR modes
|
|
|
|
Architecture: s390
|
|
|
|
As of z9 the ECB and CBC modes are hardware accelerated
|
|
for 128 bit keys.
|
|
|
|
As of z10 the ECB and CBC modes are hardware accelerated
|
|
for all AES key sizes.
|
|
|
|
As of z196 the CTR mode is hardware accelerated for all AES
|
|
key sizes and XTS mode is hardware accelerated for 256 and
|
|
512 bit keys.
|
|
|
|
config CRYPTO_DES_S390
|
|
tristate "Ciphers: DES and Triple DES EDE, modes: ECB, CBC, CTR"
|
|
depends on S390
|
|
select CRYPTO_ALGAPI
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_LIB_DES
|
|
help
|
|
Block ciphers: DES (FIPS 46-2) cipher algorithm
|
|
Block ciphers: Triple DES EDE (FIPS 46-3) cipher algorithm
|
|
Length-preserving ciphers: DES with ECB, CBC, and CTR modes
|
|
Length-preserving ciphers: Triple DES EDED with ECB, CBC, and CTR modes
|
|
|
|
Architecture: s390
|
|
|
|
As of z990 the ECB and CBC mode are hardware accelerated.
|
|
As of z196 the CTR mode is hardware accelerated.
|
|
|
|
config CRYPTO_CHACHA_S390
|
|
tristate
|
|
depends on S390
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_LIB_CHACHA_GENERIC
|
|
select CRYPTO_ARCH_HAVE_LIB_CHACHA
|
|
default CRYPTO_LIB_CHACHA_INTERNAL
|
|
help
|
|
Length-preserving cipher: ChaCha20 stream cipher (RFC 7539)
|
|
|
|
Architecture: s390
|
|
|
|
It is available as of z13.
|
|
|
|
config CRYPTO_HMAC_S390
|
|
tristate "Keyed-hash message authentication code: HMAC"
|
|
depends on S390
|
|
select CRYPTO_HASH
|
|
help
|
|
s390 specific HMAC hardware support for SHA224, SHA256, SHA384 and
|
|
SHA512.
|
|
|
|
Architecture: s390
|
|
|
|
endmenu
|