mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-26 21:52:20 +00:00
![]() Instead of exposing the arm64-optimized SHA-1 code via arm64-specific crypto_shash algorithms, instead just implement the sha1_blocks() library function. This is much simpler, it makes the SHA-1 library functions be arm64-optimized, and it fixes the longstanding issue where the arm64-optimized SHA-1 code was disabled by default. SHA-1 still remains available through crypto_shash, but individual architectures no longer need to handle it. Remove support for SHA-1 finalization from assembly code, since the library does not yet support architecture-specific overrides of the finalization. (Support for that has been omitted for now, for simplicity and because usually it isn't performance-critical.) To match sha1_blocks(), change the type of the nblocks parameter and the return value of __sha1_ce_transform() from int to size_t. Update the assembly code accordingly. Reviewed-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20250712232329.818226-9-ebiggers@kernel.org Signed-off-by: Eric Biggers <ebiggers@kernel.org> |
||
---|---|---|
.. | ||
.gitignore | ||
aes-ce-ccm-core.S | ||
aes-ce-ccm-glue.c | ||
aes-ce-core.S | ||
aes-ce-glue.c | ||
aes-ce-setkey.h | ||
aes-ce.S | ||
aes-cipher-core.S | ||
aes-cipher-glue.c | ||
aes-glue-ce.c | ||
aes-glue-neon.c | ||
aes-glue.c | ||
aes-modes.S | ||
aes-neon.S | ||
aes-neonbs-core.S | ||
aes-neonbs-glue.c | ||
ghash-ce-core.S | ||
ghash-ce-glue.c | ||
Kconfig | ||
Makefile | ||
nh-neon-core.S | ||
nhpoly1305-neon-glue.c | ||
polyval-ce-core.S | ||
polyval-ce-glue.c | ||
sha3-ce-core.S | ||
sha3-ce-glue.c | ||
sm3-ce-core.S | ||
sm3-ce-glue.c | ||
sm3-neon-core.S | ||
sm3-neon-glue.c | ||
sm4-ce-asm.h | ||
sm4-ce-ccm-core.S | ||
sm4-ce-ccm-glue.c | ||
sm4-ce-cipher-core.S | ||
sm4-ce-cipher-glue.c | ||
sm4-ce-core.S | ||
sm4-ce-gcm-core.S | ||
sm4-ce-gcm-glue.c | ||
sm4-ce-glue.c | ||
sm4-ce.h | ||
sm4-neon-core.S | ||
sm4-neon-glue.c |