This is based on https://patchwork.kernel.org/project/linux-crypto/list/?series=957785 Rather than going through the lib/sha256 partial block handling, use the native shash partial block API. Add two extra shash algorithms to provide testing coverage for lib/sha256. Herbert Xu (12): crypto: lib/sha256 - Restore lib_sha256 finup code crypto: sha256 - Use the partial block API for generic crypto: arm/sha256 - Add simd block function crypto: arm64/sha256 - Add simd block function crypto: mips/sha256 - Export block functions as GPL only crypto: powerpc/sha256 - Export block functions as GPL only crypto: riscv/sha256 - Add simd block function crypto: s390/sha256 - Export block functions as GPL only crypto: sparc/sha256 - Export block functions as GPL only crypto: x86/sha256 - Add simd block function crypto: lib/sha256 - Use generic block helper crypto: sha256 - Use the partial block API arch/arm/lib/crypto/Kconfig | 1 + arch/arm/lib/crypto/sha256-armv4.pl | 20 +-- arch/arm/lib/crypto/sha256.c | 16 +-- arch/arm64/crypto/sha512-glue.c | 6 +- arch/arm64/lib/crypto/Kconfig | 1 + arch/arm64/lib/crypto/sha2-armv8.pl | 2 +- arch/arm64/lib/crypto/sha256.c | 16 +-- .../mips/cavium-octeon/crypto/octeon-sha256.c | 4 +- arch/powerpc/lib/crypto/sha256.c | 4 +- arch/riscv/lib/crypto/Kconfig | 1 + arch/riscv/lib/crypto/sha256.c | 17 ++- arch/s390/lib/crypto/sha256.c | 4 +- arch/sparc/lib/crypto/sha256.c | 4 +- arch/x86/lib/crypto/Kconfig | 1 + arch/x86/lib/crypto/sha256.c | 16 ++- crypto/sha256.c | 134 +++++++++++------- include/crypto/internal/sha2.h | 46 ++++++ include/crypto/sha2.h | 14 +- lib/crypto/Kconfig | 8 ++ lib/crypto/sha256.c | 100 +++---------- 20 files changed, 232 insertions(+), 183 deletions(-) -- 2.39.5