linux/lib/crypto
Eric Biggers 44e8241c51 lib/crypto: arm/curve25519: Disable on CPU_BIG_ENDIAN
On big endian arm kernels, the arm optimized Curve25519 code produces
incorrect outputs and fails the Curve25519 test.  This has been true
ever since this code was added.

It seems that hardly anyone (or even no one?) actually uses big endian
arm kernels.  But as long as they're ostensibly supported, we should
disable this code on them so that it's not accidentally used.

Note: for future-proofing, use !CPU_BIG_ENDIAN instead of
CPU_LITTLE_ENDIAN.  Both of these are arch-specific options that could
get removed in the future if big endian support gets dropped.

Fixes: d8f1308a02 ("crypto: arm/curve25519 - wire up NEON implementation")
Cc: stable@vger.kernel.org
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20251104054906.716914-1-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
2025-11-04 09:36:22 -08:00
..
arm lib/crypto: curve25519: Consolidate into single module 2025-09-06 16:32:43 -07:00
arm64 Optimize fsverity with 2-way interleaved hashing 2025-09-29 15:55:20 -07:00
mips lib/crypto: chacha: Consolidate into single module 2025-08-29 09:50:19 -07:00
mpi lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
powerpc lib/crypto: curve25519: Consolidate into single module 2025-09-06 16:32:43 -07:00
riscv lib/crypto: chacha: Consolidate into single module 2025-08-29 09:50:19 -07:00
s390 lib/crypto: chacha: Consolidate into single module 2025-08-29 09:50:19 -07:00
sparc lib/crypto: Drop inline from all *_mod_init_arch() functions 2025-08-27 08:15:35 -07:00
tests Optimize fsverity with 2-way interleaved hashing 2025-09-29 15:55:20 -07:00
x86 Optimize fsverity with 2-way interleaved hashing 2025-09-29 15:55:20 -07:00
Kconfig lib/crypto: arm/curve25519: Disable on CPU_BIG_ENDIAN 2025-11-04 09:36:22 -08:00
Makefile lib/crypto: curve25519-hacl64: Fix older clang KASAN workaround for GCC 2025-11-04 09:35:58 -08:00
aes.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
aescfb.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
aesgcm.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
arc4.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
blake2s.c lib/crypto: blake2s: Consolidate into single C translation unit 2025-08-29 09:50:19 -07:00
chacha-block-generic.c lib/crypto: chacha: Rename chacha.c to chacha-block-generic.c 2025-08-29 09:50:19 -07:00
chacha.c lib/crypto: chacha: Consolidate into single module 2025-08-29 09:50:19 -07:00
chacha20poly1305-selftest.c crypto: lib/chacha - strongly type the ChaCha state 2025-05-12 13:32:53 +08:00
chacha20poly1305.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
curve25519-fiat32.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
curve25519-hacl64.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
curve25519.c lib/crypto: curve25519: Consolidate into single module 2025-09-06 16:32:43 -07:00
des.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
gf128mul.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
hash_info.c lib/crypto: hash_info: Move hash_info.c into lib/crypto/ 2025-07-08 12:03:44 -07:00
md5.c lib/crypto: md5: Add MD5 and HMAC-MD5 library functions 2025-08-26 12:52:27 -04:00
memneq.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
poly1305-donna32.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
poly1305-donna64.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
poly1305.c lib/crypto: poly1305: Consolidate into single module 2025-08-29 09:49:18 -07:00
sha1.c lib/crypto: sha1: Add HMAC support 2025-07-14 08:59:20 -07:00
sha256.c lib/crypto: sha256: Add support for 2-way interleaved hashing 2025-09-17 13:09:39 -05:00
sha512.c lib/crypto: sha2: Add hmac_sha*_init_usingrawkey() 2025-07-14 08:20:37 -07:00
simd.c crypto: api - move crypto_simd_disabled_for_test to lib 2024-10-28 18:33:11 +08:00
sm3.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
utils.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00