linux/arch/arm/crypto
Eric Biggers 54f8f38a8e lib/crypto: arm/curve25519: Disable on CPU_BIG_ENDIAN
commit 44e8241c51 upstream.

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-11-24 10:35:56 +01:00
..
.gitignore SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
aes-ce-core.S crypto: arm/aes-ce - work around Cortex-A57/A72 silion errata 2020-12-04 18:13:14 +11:00
aes-ce-glue.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
aes-cipher-core.S crypto: arm/aes-scalar - switch to common rev_l/mov_l macros 2021-03-19 21:59:46 +11:00
aes-cipher-glue.c crypto: arm/aes-neonbs - go back to using aes-arm directly 2024-08-17 13:55:50 +08:00
aes-cipher.h crypto: arm/aes-neonbs - go back to using aes-arm directly 2024-08-17 13:55:50 +08:00
aes-neonbs-core.S crypto: arm/aes-neonbs-ctr - deal with non-multiples of AES block size 2022-02-05 15:10:51 +11:00
aes-neonbs-glue.c crypto: arm/aes-neonbs - work around gcc-15 warning 2025-08-15 12:13:50 +02:00
blake2b-neon-core.S crypto: arm/blake2b - add NEON-accelerated BLAKE2b 2021-01-03 08:41:39 +11:00
blake2b-neon-glue.c crypto: arm/blake2b - drop unnecessary return statement 2021-03-07 15:13:14 +11:00
blake2s-core.S lib/crypto: blake2s: include as built-in 2022-01-07 00:25:25 +01:00
blake2s-glue.c lib/crypto: blake2s: include as built-in 2022-01-07 00:25:25 +01:00
chacha-glue.c crypto: arm/chacha-neon - add missing counter increment 2021-01-03 08:35:35 +11:00
chacha-neon-core.S crypto: arm/chacha-neon - optimize for non-block size multiples 2020-11-13 20:38:44 +11:00
chacha-scalar-core.S crypto: arm/chacha-scalar - switch to common rev_l macro 2021-03-19 21:59:46 +11:00
crc32-ce-core.S crypto: arm/crc32 - add kCFI annotations to asm routines 2024-06-21 22:30:33 +10:00
crc32-ce-glue.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
crct10dif-ce-core.S crypto: arm - use Kconfig based compiler checks for crypto opcodes 2019-10-23 19:46:56 +11:00
crct10dif-ce-glue.c crypto: arm - add missing MODULE_DESCRIPTION() macros 2024-06-21 22:04:18 +10:00
curve25519-core.S crypto: arm/curve25519 - Move '.fpu' after '.arch' 2021-04-16 21:16:34 +10:00
curve25519-glue.c crypto: arm - add missing MODULE_DESCRIPTION() macros 2024-06-21 22:04:18 +10:00
ghash-ce-core.S ARM: 9286/1: crypto: Implement fused AES-CTR/GHASH version of GCM 2023-01-18 15:04:51 +00:00
ghash-ce-glue.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
Kconfig lib/crypto: arm/curve25519: Disable on CPU_BIG_ENDIAN 2025-11-24 10:35:56 +01:00
Makefile ARM: 9287/1: Reduce __thumb2__ definition to crypto files that require it 2023-01-23 14:31:18 +00:00
nh-neon-core.S crypto: arm/nhpoly1305 - eliminate unnecessary CFI wrapper 2022-11-25 17:39:19 +08:00
nhpoly1305-neon-glue.c crypto: arm/nhpoly1305 - implement ->digest 2023-10-20 13:39:25 +08:00
poly1305-armv4.pl crypto: arm/poly1305 - incorporate OpenSSL/CRYPTOGAMS NEON implementation 2019-11-17 09:02:42 +08:00
poly1305-glue.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
sha1-armv4-large.S crypto: Replace HTTP links with HTTPS ones 2020-07-23 17:34:20 +10:00
sha1-armv7-neon.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sha1-ce-core.S crypto: arm - use Kconfig based compiler checks for crypto opcodes 2019-10-23 19:46:56 +11:00
sha1-ce-glue.c crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
sha1.h crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
sha1_glue.c crypto: arm/sha1 - Fix clang function cast warnings 2022-12-30 22:56:27 +08:00
sha1_neon_glue.c crypto: arm/sha1-neon - Fix clang function cast warnings 2023-05-12 18:48:01 +08:00
sha2-ce-core.S crypto: arm - use Kconfig based compiler checks for crypto opcodes 2019-10-23 19:46:56 +11:00
sha2-ce-glue.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
sha256-armv4.pl crypto: arm/sha256-neon - avoid ADRL pseudo instruction 2020-09-25 17:48:13 +10:00
sha256_glue.c crypto: arm/sha - fix function cast warnings 2024-02-24 08:41:19 +08:00
sha256_glue.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sha256_neon_glue.c crypto: arm/sha256-neon - Fix clang function cast warnings 2023-05-12 18:48:01 +08:00
sha512-armv4.pl crypto: arm/sha512-neon - avoid ADRL pseudo instruction 2020-09-25 17:48:14 +10:00
sha512-glue.c crypto: arm/sha - fix function cast warnings 2024-02-24 08:41:19 +08:00
sha512-neon-glue.c crypto: arm/sha512-neon - Fix clang function cast warnings 2023-05-12 18:48:01 +08:00
sha512.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00