linux/arch/arm64/crypto
Eric Biggers f6a458746f crypto: arm64/ghash - Fix incorrect output from ghash-neon
Commit 9a7c987fb9 ("crypto: arm64/ghash - Use API partial block
handling") made ghash_finup() pass the wrong buffer to
ghash_do_simd_update().  As a result, ghash-neon now produces incorrect
outputs when the message length isn't divisible by 16 bytes.  Fix this.

(I didn't notice this earlier because this code is reached only on CPUs
that support NEON but not PMULL.  I haven't yet found a way to get
qemu-system-aarch64 to emulate that configuration.)

Fixes: 9a7c987fb9 ("crypto: arm64/ghash - Use API partial block handling")
Cc: stable@vger.kernel.org
Reported-by: Diederik de Haas <diederik@cknow-tech.com>
Closes: https://lore.kernel.org/linux-crypto/DETXT7QI62KE.F3CGH2VWX1SC@cknow-tech.com/
Tested-by: Diederik de Haas <diederik@cknow-tech.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Link: https://lore.kernel.org/r/20251209223417.112294-1-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
History 2025-12-10 09:46:26 -08:00
..
.gitignore SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
aes-ce-ccm-core.S crypto: arm64/aes-ccm - Merge finalization into en/decrypt asm helpers 2024-01-26 16:39:32 +08:00
aes-ce-ccm-glue.c crypto/arm64: aes-ccm - Switch to 'ksimd' scoped guard API 2025-11-12 09:52:01 +01:00
aes-ce-core.S crypto: arm64 - Use modern annotations for assembly functions 2019-12-20 14:58:35 +08:00
aes-ce-glue.c crypto/arm64: aes-blk - Switch to 'ksimd' scoped guard API 2025-11-12 09:52:01 +01:00
aes-ce-setkey.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
aes-ce.S crypto: arm64/aes-ce - Simplify round key load sequence 2024-04-26 17:26:09 +08:00
aes-cipher-core.S crypto: arm64 - Use modern annotations for assembly functions 2019-12-20 14:58:35 +08:00
aes-cipher-glue.c crypto: Prepare to move crypto_tfm_ctx 2022-12-02 18:12:40 +08:00
aes-glue-ce.c crypto: arm64/aes - remove Makefile hack 2023-08-11 19:19:27 +08:00
aes-glue-neon.c crypto: arm64/aes - remove Makefile hack 2023-08-11 19:19:27 +08:00
aes-glue.c crypto/arm64: aes/xts - Use single ksimd scope to reduce stack bloat 2025-12-09 15:10:21 -08:00
aes-modes.S crypto: arm64/aes-modes - use frame_push/pop macros consistently 2022-12-09 18:45:00 +08:00
aes-neon.S crypto: arm64/aes-ce - Simplify round key load sequence 2024-04-26 17:26:09 +08:00
aes-neonbs-core.S crypto: arm64/aes-neonbs - fix crash with CFI enabled 2023-03-14 17:06:44 +08:00
aes-neonbs-glue.c crypto/arm64: aes/xts - Use single ksimd scope to reduce stack bloat 2025-12-09 15:10:21 -08:00
ghash-ce-core.S crypto: arm64/ghash-ce - use frame_push/pop macros consistently 2022-12-09 18:45:00 +08:00
ghash-ce-glue.c crypto: arm64/ghash - Fix incorrect output from ghash-neon 2025-12-10 09:46:26 -08:00
Kconfig lib/crypto: arm64/polyval: Migrate optimized code into library 2025-11-11 11:03:38 -08:00
Makefile lib/crypto: arm64/polyval: Migrate optimized code into library 2025-11-11 11:03:38 -08:00
nh-neon-core.S crypto: arm64/nhpoly1305 - eliminate unnecessary CFI wrapper 2022-11-25 17:39:19 +08:00
nhpoly1305-neon-glue.c crypto/arm64: nhpoly1305 - Switch to 'ksimd' scoped guard API 2025-11-12 09:52:02 +01:00
sm3-ce-core.S arm64: Add types to indirect called assembly functions 2022-09-26 10:13:13 -07:00
sm3-ce-glue.c crypto/arm64: sm3 - Switch to 'ksimd' scoped guard API 2025-11-12 09:52:02 +01:00
sm3-neon-core.S crypto: arm64/sm3 - fix possible crash with CFI enabled 2022-11-25 17:39:19 +08:00
sm3-neon-glue.c crypto/arm64: sm3 - Switch to 'ksimd' scoped guard API 2025-11-12 09:52:02 +01:00
sm4-ce-asm.h crypto: arm64/sm4 - refactor and simplify CE implementation 2022-11-04 17:34:31 +08:00
sm4-ce-ccm-core.S crypto: arm64/sm4 - fix possible crash with CFI enabled 2022-12-30 17:57:42 +08:00
sm4-ce-ccm-glue.c crypto/arm64: sm4 - Switch to 'ksimd' scoped guard API 2025-11-12 09:52:02 +01:00
sm4-ce-cipher-core.S crypto: arm64/sm4-ce - rename to sm4-ce-cipher 2022-04-08 16:12:47 +08:00
sm4-ce-cipher-glue.c crypto/arm64: sm4 - Switch to 'ksimd' scoped guard API 2025-11-12 09:52:02 +01:00
sm4-ce-core.S crypto: arm64/sm4 - Remove cfb(sm4) 2023-12-08 11:59:45 +08:00
sm4-ce-gcm-core.S crypto: arm64/sm4 - fix possible crash with CFI enabled 2022-12-30 17:57:42 +08:00
sm4-ce-gcm-glue.c crypto/arm64: sm4 - Switch to 'ksimd' scoped guard API 2025-11-12 09:52:02 +01:00
sm4-ce-glue.c crypto/arm64: sm4/xts - Merge ksimd scopes to reduce stack bloat 2025-12-09 15:10:21 -08:00
sm4-ce.h crypto: arm64/sm4 - Remove cfb(sm4) 2023-12-08 11:59:45 +08:00
sm4-neon-core.S crypto: arm64/sm4 - Remove cfb(sm4) 2023-12-08 11:59:45 +08:00
sm4-neon-glue.c crypto/arm64: sm4 - Switch to 'ksimd' scoped guard API 2025-11-12 09:52:02 +01:00