diff options
| author | Eric Biggers <ebiggers@kernel.org> | 2025-07-12 16:23:04 -0700 |
|---|---|---|
| committer | Eric Biggers <ebiggers@kernel.org> | 2025-07-14 11:28:35 -0700 |
| commit | f3d6cb3dc0394b866bc0d1e15157ce45844cf3d3 (patch) | |
| tree | 49d272f7f91c2cb5dfe9339107b8b487aa47f664 /lib/crypto/Makefile | |
| parent | lib/crypto: sparc/sha1: Migrate optimized code into library (diff) | |
| download | linux-f3d6cb3dc0394b866bc0d1e15157ce45844cf3d3.tar.gz linux-f3d6cb3dc0394b866bc0d1e15157ce45844cf3d3.zip | |
lib/crypto: x86/sha1: Migrate optimized code into library
Instead of exposing the x86-optimized SHA-1 code via x86-specific
crypto_shash algorithms, instead just implement the sha1_blocks()
library function. This is much simpler, it makes the SHA-1 library
functions be x86-optimized, and it fixes the longstanding issue where
the x86-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.
To match sha1_blocks(), change the type of the nblocks parameter of the
assembly functions from int to size_t. The assembly functions actually
already treated it as size_t.
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20250712232329.818226-14-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Diffstat (limited to 'lib/crypto/Makefile')
| -rw-r--r-- | lib/crypto/Makefile | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/crypto/Makefile b/lib/crypto/Makefile index 7897da2de623..b09fdb7f4b4c 100644 --- a/lib/crypto/Makefile +++ b/lib/crypto/Makefile @@ -82,6 +82,9 @@ libsha1-y += powerpc/sha1-powerpc-asm.o libsha1-$(CONFIG_SPE) += powerpc/sha1-spe-asm.o endif libsha1-$(CONFIG_SPARC) += sparc/sha1_asm.o +libsha1-$(CONFIG_X86) += x86/sha1-ssse3-and-avx.o \ + x86/sha1-avx2-asm.o \ + x86/sha1-ni-asm.o endif # CONFIG_CRYPTO_LIB_SHA1_ARCH ################################################################################ |
