linux-yocto/lib/crypto
Herbert Xu 67727c5764 crypto: lib/Kconfig - Hide arch options from user
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>
2025-05-02 07:59:32 +02:00
..
mpi crypto: lib/mpi - Fix an "Uninitialized scalar variable" issue 2024-10-16 13:38:16 +08:00
aes.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
aescfb.c crypto: lib - implement library version of AES in CFB mode 2024-05-09 22:30:51 +03:00
aesgcm.c crypto: lib/aesgcm - Add kernel docs for aesgcm_mac 2023-11-17 19:16:28 +08:00
arc4.c crypto: lib - add missing MODULE_DESCRIPTION() macros 2024-06-07 19:46:39 +08:00
blake2s-generic.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
blake2s-selftest.c crypto: lib/blake2s - Split up test function to halve stack usage 2022-12-30 22:56:27 +08:00
blake2s.c crypto: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:51 -07:00
chacha.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
chacha20poly1305-selftest.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
chacha20poly1305.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
curve25519-fiat32.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
curve25519-generic.c crypto: curve25519 - Fix selftest build error 2020-01-16 15:18:13 +08:00
curve25519-hacl64.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
curve25519-selftest.c crypto: lib/curve25519 - re-add selftests 2019-12-27 18:18:03 +08:00
curve25519.c crypto: lib - rename 'mod_init' & 'mod_exit' functions to be module-specific 2021-07-16 15:49:36 +08:00
des.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
gf128mul.c crypto: lib/gf128mul - make gf128mul_lle time invariant 2022-11-11 18:14:59 +08:00
Kconfig crypto: lib/Kconfig - Hide arch options from user 2025-05-02 07:59:32 +02:00
libchacha.c crypto: lib - add missing MODULE_DESCRIPTION() macros 2024-06-07 19:46:39 +08:00
Makefile crypto: lib - implement library version of AES in CFB mode 2024-05-09 22:30:51 +03:00
memneq.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
poly1305-donna32.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
poly1305-donna64.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
poly1305.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
sha1.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
sha256.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
utils.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00