[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250727234345.GB1261@sol>
Date: Sun, 27 Jul 2025 16:43:45 -0700
From: Eric Biggers <ebiggers@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-crypto@...r.kernel.org, linux-kernel@...r.kernel.org,
Ard Biesheuvel <ardb@...nel.org>,
"Jason A. Donenfeld" <Jason@...c4.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
Palmer Dabbelt <palmer@...belt.com>,
Sohil Mehta <sohil.mehta@...el.com>
Subject: [GIT PULL] Crypto library updates for 6.17
Note: there are conflicts with some files in arch/s390/:
arch/s390/crypto/sha1_s390.c and arch/s390/crypto/sha512_s390.c from
mainline, and arch/s390/lib/crypto/sha256.c from the s390 tree. Just
take the version from this pull request, i.e. delete those files.
The following changes since commit d0b3b7b22dfa1f4b515fd3a295b3fd958f9e81af:
Linux 6.16-rc4 (2025-06-29 13:09:04 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git tags/libcrypto-updates-for-linus
for you to fetch changes up to debc1e5a431779c027a5752f247a4de2e4f702b2:
lib/crypto: arm64/sha512-ce: Drop compatibility macros for older binutils (2025-07-20 21:43:27 -0700)
----------------------------------------------------------------
This is the main crypto library pull request for 6.17. The main focus
this cycle is on reorganizing the SHA-1 and SHA-2 code, providing
high-quality library APIs for SHA-1 and SHA-2 including HMAC support,
and establishing conventions for lib/crypto/ going forward:
- Migrate the SHA-1 and SHA-512 code (and also SHA-384 which shares
most of the SHA-512 code) into lib/crypto/. This includes both the
generic and architecture-optimized code. Greatly simplify how the
architecture-optimized code is integrated. Add an easy-to-use
library API for each SHA variant, including HMAC support. Finally,
reimplement the crypto_shash support on top of the library API.
- Apply the same reorganization to the SHA-256 code (and also SHA-224
which shares most of the SHA-256 code). This is a somewhat smaller
change, due to my earlier work on SHA-256. But this brings in all
the same additional improvements that I made for SHA-1 and SHA-512.
There are also some smaller changes:
- Move the architecture-optimized ChaCha, Poly1305, and BLAKE2s code
from arch/$(SRCARCH)/lib/crypto/ to lib/crypto/$(SRCARCH)/. For
these algorithms it's just a move, not a full reorganization yet.
- Fix the MIPS chacha-core.S to build with the clang assembler.
- Fix the Poly1305 functions to work in all contexts.
- Fix a performance regression in the x86_64 Poly1305 code.
- Clean up the x86_64 SHA-NI optimized SHA-1 assembly code.
Note that since the new organization of the SHA code is much simpler,
the diffstat of this pull request is negative, despite the addition of
new fully-documented library APIs for multiple SHA and HMAC-SHA
variants. These APIs will allow further simplifications across the
kernel as users start using them instead of the old-school crypto API.
(I've already written a lot of such conversion patches, removing over
1000 more lines of code. But most of those will target 6.18 or later.)
----------------------------------------------------------------
Eric Biggers (67):
lib/crypto: Explicitly include <linux/export.h>
crypto: sha512 - Rename conflicting symbols
lib/crypto: sha512: Add support for SHA-384 and SHA-512
lib/crypto: sha512: Add HMAC-SHA384 and HMAC-SHA512 support
crypto: riscv/sha512 - Stop depending on sha512_generic_block_fn
crypto: sha512 - Replace sha512_generic with wrapper around SHA-512 library
crypto: sha512 - Use same state format as legacy drivers
lib/crypto: arm/sha512: Migrate optimized SHA-512 code to library
lib/crypto: arm64/sha512: Migrate optimized SHA-512 code to library
mips: cavium-octeon: Move octeon-crypto.h into asm directory
lib/crypto: mips/sha512: Migrate optimized SHA-512 code to library
lib/crypto: riscv/sha512: Migrate optimized SHA-512 code to library
lib/crypto: s390/sha512: Migrate optimized SHA-512 code to library
lib/crypto: sparc/sha512: Migrate optimized SHA-512 code to library
lib/crypto: x86/sha512: Migrate optimized SHA-512 code to library
lib/crypto: x86/sha512: Remove unnecessary checks for nblocks==0
crypto: sha512 - Remove sha512_base.h
lib/crypto: arm: Move arch/arm/lib/crypto/ into lib/crypto/
lib/crypto: arm64: Move arch/arm64/lib/crypto/ into lib/crypto/
lib/crypto: mips: Move arch/mips/lib/crypto/ into lib/crypto/
lib/crypto: powerpc: Move arch/powerpc/lib/crypto/ into lib/crypto/
lib/crypto: riscv: Move arch/riscv/lib/crypto/ into lib/crypto/
lib/crypto: s390: Move arch/s390/lib/crypto/ into lib/crypto/
lib/crypto: sparc: Move arch/sparc/lib/crypto/ into lib/crypto/
lib/crypto: x86: Move arch/x86/lib/crypto/ into lib/crypto/
MAINTAINERS: Drop arch/*/lib/crypto/ pattern
lib/crypto: mips/chacha: Fix clang build and remove unneeded byteswap
libceph: Rename hmac_sha256() to ceph_hmac_sha256()
cxl/test: Simplify fw_buf_checksum_show()
lib/crypto: sha256: Reorder some code
lib/crypto: sha256: Remove sha256_blocks_simd()
lib/crypto: sha256: Add sha224() and sha224_update()
lib/crypto: sha256: Make library API use strongly-typed contexts
lib/crypto: sha256: Propagate sha256_block_state type to implementations
lib/crypto: sha256: Add HMAC-SHA224 and HMAC-SHA256 support
crypto: sha256 - Wrap library and add HMAC support
crypto: sha256 - Use same state format as legacy drivers
lib/crypto: sha256: Remove sha256_is_arch_optimized()
lib/crypto: sha256: Consolidate into single module
lib/crypto: sha256: Sync sha256_update() with sha512_update()
lib/crypto: sha256: Document the SHA-224 and SHA-256 API
lib/crypto: x86/sha256: Move static_call above kernel-mode FPU section
lib/crypto: x86/sha256: Remove unnecessary checks for nblocks==0
lib/crypto: hash_info: Move hash_info.c into lib/crypto/
lib/crypto: arm/poly1305: Fix register corruption in no-SIMD contexts
lib/crypto: arm64/poly1305: Fix register corruption in no-SIMD contexts
lib/crypto: x86/poly1305: Fix register corruption in no-SIMD contexts
lib/crypto: x86/poly1305: Fix performance regression on short messages
lib/crypto: arm/poly1305: Remove unneeded empty weak function
lib/crypto: sha2: Add hmac_sha*_init_usingrawkey()
crypto: x86/sha1 - Rename conflicting symbol
lib/crypto: sha1: Rename sha1_init() to sha1_init_raw()
lib/crypto: sha1: Add SHA-1 library functions
lib/crypto: sha1: Add HMAC support
crypto: sha1 - Wrap library and add HMAC support
crypto: sha1 - Use same state format as legacy drivers
lib/crypto: arm/sha1: Migrate optimized code into library
lib/crypto: arm64/sha1: Migrate optimized code into library
lib/crypto: mips/sha1: Migrate optimized code into library
lib/crypto: powerpc/sha1: Migrate optimized code into library
lib/crypto: s390/sha1: Migrate optimized code into library
lib/crypto: sparc/sha1: Migrate optimized code into library
lib/crypto: x86/sha1: Migrate optimized code into library
crypto: sha1 - Remove sha1_base.h
lib/crypto: x86/sha1-ni: Minor optimizations and cleanup
lib/crypto: x86/sha1-ni: Convert to use rounds macros
lib/crypto: arm64/sha512-ce: Drop compatibility macros for older binutils
MAINTAINERS | 1 -
arch/arm/configs/exynos_defconfig | 2 -
arch/arm/configs/milbeaut_m10v_defconfig | 3 -
arch/arm/configs/multi_v7_defconfig | 3 -
arch/arm/configs/omap2plus_defconfig | 2 -
arch/arm/configs/pxa_defconfig | 2 -
arch/arm/crypto/Kconfig | 41 --
arch/arm/crypto/Makefile | 21 -
arch/arm/crypto/sha1-ce-glue.c | 72 --
arch/arm/crypto/sha1_glue.c | 75 --
arch/arm/crypto/sha1_neon_glue.c | 83 ---
arch/arm/crypto/sha512-glue.c | 110 ---
arch/arm/crypto/sha512-neon-glue.c | 75 --
arch/arm/crypto/sha512.h | 3 -
arch/arm/lib/.gitignore | 4 +
arch/arm/lib/Makefile | 2 -
arch/arm/lib/crypto/sha256.c | 64 --
arch/arm64/configs/defconfig | 2 -
arch/arm64/crypto/Kconfig | 30 -
arch/arm64/crypto/Makefile | 17 -
arch/arm64/crypto/sha1-ce-glue.c | 118 ---
arch/arm64/crypto/sha512-ce-glue.c | 96 ---
arch/arm64/crypto/sha512-glue.c | 83 ---
arch/arm64/lib/.gitignore | 4 +
arch/arm64/lib/Makefile | 3 -
arch/arm64/lib/crypto/sha256.c | 75 --
arch/mips/cavium-octeon/Kconfig | 6 -
arch/mips/cavium-octeon/crypto/Makefile | 3 -
arch/mips/cavium-octeon/crypto/octeon-crypto.c | 3 +-
arch/mips/cavium-octeon/crypto/octeon-md5.c | 3 +-
arch/mips/cavium-octeon/crypto/octeon-sha1.c | 147 ----
arch/mips/cavium-octeon/crypto/octeon-sha512.c | 167 -----
arch/mips/configs/cavium_octeon_defconfig | 2 -
arch/mips/crypto/Kconfig | 20 -
.../asm/octeon/crypto.h} | 0
arch/mips/lib/.gitignore | 4 +
arch/mips/lib/Makefile | 2 -
arch/powerpc/configs/44x/akebono_defconfig | 1 -
arch/powerpc/configs/powernv_defconfig | 1 -
arch/powerpc/configs/ppc64_defconfig | 1 -
arch/powerpc/crypto/Kconfig | 16 -
arch/powerpc/crypto/Makefile | 4 -
arch/powerpc/crypto/sha1-spe-glue.c | 107 ---
arch/powerpc/crypto/sha1.c | 78 --
arch/powerpc/lib/Makefile | 2 -
arch/riscv/crypto/Kconfig | 11 -
arch/riscv/crypto/Makefile | 3 -
arch/riscv/crypto/sha512-riscv64-glue.c | 124 ----
arch/riscv/lib/Makefile | 1 -
arch/riscv/lib/crypto/Kconfig | 16 -
arch/riscv/lib/crypto/sha256.c | 67 --
arch/riscv/purgatory/purgatory.c | 8 +-
arch/s390/configs/debug_defconfig | 2 -
arch/s390/configs/defconfig | 2 -
arch/s390/crypto/Kconfig | 20 -
arch/s390/crypto/Makefile | 2 -
arch/s390/crypto/sha1_s390.c | 103 ---
arch/s390/crypto/sha512_s390.c | 151 ----
arch/s390/lib/Makefile | 1 -
arch/s390/lib/crypto/sha256.c | 47 --
arch/s390/purgatory/purgatory.c | 2 +-
arch/sparc/crypto/Kconfig | 20 -
arch/sparc/crypto/Makefile | 4 -
arch/sparc/crypto/sha1_glue.c | 94 ---
arch/sparc/crypto/sha512_glue.c | 122 ----
arch/sparc/lib/Makefile | 1 -
arch/sparc/lib/crypto/Kconfig | 8 -
arch/sparc/lib/crypto/Makefile | 4 -
arch/x86/crypto/Kconfig | 27 -
arch/x86/crypto/Makefile | 6 -
arch/x86/crypto/sha1_ni_asm.S | 304 --------
arch/x86/crypto/sha1_ssse3_glue.c | 324 ---------
arch/x86/crypto/sha512_ssse3_glue.c | 322 ---------
arch/x86/lib/.gitignore | 4 +
arch/x86/lib/Makefile | 2 -
arch/x86/lib/crypto/sha256.c | 80 ---
arch/x86/purgatory/purgatory.c | 2 +-
crypto/Kconfig | 14 +-
crypto/Makefile | 6 +-
crypto/sha1.c | 201 ++++++
crypto/sha1_generic.c | 87 ---
crypto/sha256.c | 371 ++++++----
crypto/sha512.c | 354 +++++++++
crypto/sha512_generic.c | 217 ------
crypto/testmgr.c | 28 +
drivers/char/tpm/tpm2-sessions.c | 12 +-
drivers/crypto/img-hash.c | 6 +-
drivers/crypto/starfive/jh7110-hash.c | 16 +-
include/crypto/internal/sha2.h | 66 --
include/crypto/sha1.h | 180 ++++-
include/crypto/sha1_base.h | 82 ---
include/crypto/sha2.h | 800 ++++++++++++++++++++-
include/crypto/sha512_base.h | 120 ----
kernel/bpf/core.c | 2 +-
kernel/kexec_file.c | 10 +-
lib/crypto/Kconfig | 77 +-
lib/crypto/Makefile | 107 ++-
lib/crypto/aes.c | 1 +
lib/crypto/aescfb.c | 7 +-
lib/crypto/aesgcm.c | 5 +-
lib/crypto/arc4.c | 1 +
{arch/arm/lib/crypto => lib/crypto/arm}/.gitignore | 1 +
{arch/arm/lib/crypto => lib/crypto/arm}/Kconfig | 7 -
{arch/arm/lib/crypto => lib/crypto/arm}/Makefile | 8 +-
.../lib/crypto => lib/crypto/arm}/blake2s-core.S | 0
.../lib/crypto => lib/crypto/arm}/blake2s-glue.c | 0
.../lib/crypto => lib/crypto/arm}/chacha-glue.c | 0
.../crypto => lib/crypto/arm}/chacha-neon-core.S | 0
.../crypto => lib/crypto/arm}/chacha-scalar-core.S | 0
.../crypto => lib/crypto/arm}/poly1305-armv4.pl | 2 +-
.../lib/crypto => lib/crypto/arm}/poly1305-glue.c | 8 +-
.../crypto => lib/crypto/arm}/sha1-armv4-large.S | 0
.../crypto => lib/crypto/arm}/sha1-armv7-neon.S | 13 +-
{arch/arm/crypto => lib/crypto/arm}/sha1-ce-core.S | 4 +-
lib/crypto/arm/sha1.h | 46 ++
.../lib/crypto => lib/crypto/arm}/sha256-armv4.pl | 20 +-
.../arm/lib/crypto => lib/crypto/arm}/sha256-ce.S | 2 +-
lib/crypto/arm/sha256.h | 46 ++
.../arm/crypto => lib/crypto/arm}/sha512-armv4.pl | 0
lib/crypto/arm/sha512.h | 38 +
.../lib/crypto => lib/crypto/arm64}/.gitignore | 1 +
.../arm64/lib/crypto => lib/crypto/arm64}/Kconfig | 6 -
.../arm64/lib/crypto => lib/crypto/arm64}/Makefile | 9 +-
.../crypto => lib/crypto/arm64}/chacha-neon-core.S | 0
.../crypto => lib/crypto/arm64}/chacha-neon-glue.c | 0
.../crypto => lib/crypto/arm64}/poly1305-armv8.pl | 0
.../crypto => lib/crypto/arm64}/poly1305-glue.c | 3 +-
.../crypto => lib/crypto/arm64}/sha1-ce-core.S | 40 +-
lib/crypto/arm64/sha1.h | 39 +
.../lib/crypto => lib/crypto/arm64}/sha2-armv8.pl | 2 +-
.../lib/crypto => lib/crypto/arm64}/sha256-ce.S | 2 +-
lib/crypto/arm64/sha256.h | 57 ++
.../crypto => lib/crypto/arm64}/sha512-ce-core.S | 41 +-
lib/crypto/arm64/sha512.h | 46 ++
lib/crypto/blake2s-generic.c | 9 +-
lib/crypto/blake2s.c | 9 +-
lib/crypto/chacha.c | 6 +-
lib/crypto/chacha20poly1305.c | 8 +-
lib/crypto/curve25519-generic.c | 1 +
lib/crypto/des.c | 7 +-
lib/crypto/gf128mul.c | 1 +
{crypto => lib/crypto}/hash_info.c | 0
lib/crypto/libchacha.c | 7 +-
lib/crypto/memneq.c | 3 +-
.../mips/lib/crypto => lib/crypto/mips}/.gitignore | 0
{arch/mips/lib/crypto => lib/crypto/mips}/Kconfig | 0
{arch/mips/lib/crypto => lib/crypto/mips}/Makefile | 0
.../lib/crypto => lib/crypto/mips}/chacha-core.S | 20 +-
.../lib/crypto => lib/crypto/mips}/chacha-glue.c | 0
.../lib/crypto => lib/crypto/mips}/poly1305-glue.c | 0
.../crypto => lib/crypto/mips}/poly1305-mips.pl | 0
lib/crypto/mips/sha1.h | 81 +++
.../octeon-sha256.c => lib/crypto/mips/sha256.h | 23 +-
lib/crypto/mips/sha512.h | 74 ++
lib/crypto/mpi/mpi-add.c | 2 +
lib/crypto/mpi/mpi-bit.c | 2 +
lib/crypto/mpi/mpi-cmp.c | 2 +
lib/crypto/mpi/mpi-mul.c | 2 +
lib/crypto/mpi/mpi-pow.c | 2 +
lib/crypto/mpi/mpi-sub-ui.c | 2 +
lib/crypto/mpi/mpicoder.c | 3 +-
lib/crypto/mpi/mpiutil.c | 2 +
lib/crypto/poly1305-donna32.c | 3 +-
lib/crypto/poly1305-donna64.c | 3 +-
lib/crypto/poly1305-generic.c | 1 +
lib/crypto/poly1305.c | 1 +
.../lib/crypto => lib/crypto/powerpc}/Kconfig | 6 -
.../lib/crypto => lib/crypto/powerpc}/Makefile | 3 -
.../crypto/powerpc}/chacha-p10-glue.c | 0
.../crypto/powerpc}/chacha-p10le-8x.S | 0
.../crypto/powerpc}/poly1305-p10-glue.c | 0
.../crypto/powerpc}/poly1305-p10le_64.S | 0
.../crypto/powerpc}/sha1-powerpc-asm.S | 0
.../crypto => lib/crypto/powerpc}/sha1-spe-asm.S | 0
lib/crypto/powerpc/sha1.h | 67 ++
.../crypto => lib/crypto/powerpc}/sha256-spe-asm.S | 0
.../crypto/sha256.c => lib/crypto/powerpc/sha256.h | 22 +-
lib/crypto/riscv/Kconfig | 8 +
.../riscv/lib/crypto => lib/crypto/riscv}/Makefile | 3 -
.../crypto/riscv}/chacha-riscv64-glue.c | 0
.../crypto/riscv}/chacha-riscv64-zvkb.S | 0
.../riscv}/sha256-riscv64-zvknha_or_zvknhb-zvkb.S | 2 +-
lib/crypto/riscv/sha256.h | 42 ++
.../crypto/riscv}/sha512-riscv64-zvknhb-zvkb.S | 4 +-
lib/crypto/riscv/sha512.h | 41 ++
{arch/s390/lib/crypto => lib/crypto/s390}/Kconfig | 6 -
{arch/s390/lib/crypto => lib/crypto/s390}/Makefile | 3 -
.../lib/crypto => lib/crypto/s390}/chacha-glue.c | 0
.../lib/crypto => lib/crypto/s390}/chacha-s390.S | 0
.../lib/crypto => lib/crypto/s390}/chacha-s390.h | 0
lib/crypto/s390/sha1.h | 28 +
lib/crypto/s390/sha256.h | 28 +
lib/crypto/s390/sha512.h | 28 +
lib/crypto/sha1.c | 229 +++++-
lib/crypto/sha256-generic.c | 137 ----
lib/crypto/sha256.c | 433 +++++++++--
lib/crypto/sha512.c | 423 +++++++++++
lib/crypto/sm3.c | 1 +
lib/crypto/sparc/sha1.h | 43 ++
{arch/sparc/crypto => lib/crypto/sparc}/sha1_asm.S | 0
.../crypto/sha256.c => lib/crypto/sparc/sha256.h | 37 +-
.../lib/crypto => lib/crypto/sparc}/sha256_asm.S | 0
lib/crypto/sparc/sha512.h | 42 ++
.../sparc/crypto => lib/crypto/sparc}/sha512_asm.S | 0
lib/crypto/utils.c | 3 +-
{arch/x86/lib/crypto => lib/crypto/x86}/.gitignore | 0
{arch/x86/lib/crypto => lib/crypto/x86}/Kconfig | 8 -
{arch/x86/lib/crypto => lib/crypto/x86}/Makefile | 3 -
.../lib/crypto => lib/crypto/x86}/blake2s-core.S | 0
.../lib/crypto => lib/crypto/x86}/blake2s-glue.c | 0
.../crypto => lib/crypto/x86}/chacha-avx2-x86_64.S | 0
.../crypto/x86}/chacha-avx512vl-x86_64.S | 0
.../crypto/x86}/chacha-ssse3-x86_64.S | 0
.../lib/crypto => lib/crypto/x86}/chacha_glue.c | 0
.../crypto/x86}/poly1305-x86_64-cryptogams.pl | 0
.../lib/crypto => lib/crypto/x86}/poly1305_glue.c | 48 +-
.../crypto/x86/sha1-avx2-asm.S | 7 +-
lib/crypto/x86/sha1-ni-asm.S | 152 ++++
.../crypto/x86/sha1-ssse3-and-avx.S | 13 +-
lib/crypto/x86/sha1.h | 74 ++
.../lib/crypto => lib/crypto/x86}/sha256-avx-asm.S | 8 +-
.../crypto => lib/crypto/x86}/sha256-avx2-asm.S | 6 +-
.../lib/crypto => lib/crypto/x86}/sha256-ni-asm.S | 7 +-
.../crypto => lib/crypto/x86}/sha256-ssse3-asm.S | 8 +-
lib/crypto/x86/sha256.h | 57 ++
.../x86/crypto => lib/crypto/x86}/sha512-avx-asm.S | 11 +-
.../crypto => lib/crypto/x86}/sha512-avx2-asm.S | 12 +-
.../crypto => lib/crypto/x86}/sha512-ssse3-asm.S | 14 +-
lib/crypto/x86/sha512.h | 54 ++
net/ceph/messenger_v2.c | 12 +-
net/ipv6/addrconf.c | 2 +-
tools/testing/cxl/test/mem.c | 21 +-
232 files changed, 4305 insertions(+), 4778 deletions(-)
delete mode 100644 arch/arm/crypto/sha1-ce-glue.c
delete mode 100644 arch/arm/crypto/sha1_glue.c
delete mode 100644 arch/arm/crypto/sha1_neon_glue.c
delete mode 100644 arch/arm/crypto/sha512-glue.c
delete mode 100644 arch/arm/crypto/sha512-neon-glue.c
delete mode 100644 arch/arm/crypto/sha512.h
create mode 100644 arch/arm/lib/.gitignore
delete mode 100644 arch/arm/lib/crypto/sha256.c
delete mode 100644 arch/arm64/crypto/sha1-ce-glue.c
delete mode 100644 arch/arm64/crypto/sha512-ce-glue.c
delete mode 100644 arch/arm64/crypto/sha512-glue.c
create mode 100644 arch/arm64/lib/.gitignore
delete mode 100644 arch/arm64/lib/crypto/sha256.c
delete mode 100644 arch/mips/cavium-octeon/crypto/octeon-sha1.c
delete mode 100644 arch/mips/cavium-octeon/crypto/octeon-sha512.c
rename arch/mips/{cavium-octeon/crypto/octeon-crypto.h => include/asm/octeon/crypto.h} (100%)
create mode 100644 arch/mips/lib/.gitignore
delete mode 100644 arch/powerpc/crypto/sha1-spe-glue.c
delete mode 100644 arch/powerpc/crypto/sha1.c
delete mode 100644 arch/riscv/crypto/sha512-riscv64-glue.c
delete mode 100644 arch/riscv/lib/crypto/Kconfig
delete mode 100644 arch/riscv/lib/crypto/sha256.c
delete mode 100644 arch/s390/crypto/sha1_s390.c
delete mode 100644 arch/s390/crypto/sha512_s390.c
delete mode 100644 arch/s390/lib/crypto/sha256.c
delete mode 100644 arch/sparc/crypto/sha1_glue.c
delete mode 100644 arch/sparc/crypto/sha512_glue.c
delete mode 100644 arch/sparc/lib/crypto/Kconfig
delete mode 100644 arch/sparc/lib/crypto/Makefile
delete mode 100644 arch/x86/crypto/sha1_ni_asm.S
delete mode 100644 arch/x86/crypto/sha1_ssse3_glue.c
delete mode 100644 arch/x86/crypto/sha512_ssse3_glue.c
delete mode 100644 arch/x86/lib/crypto/sha256.c
create mode 100644 crypto/sha1.c
delete mode 100644 crypto/sha1_generic.c
create mode 100644 crypto/sha512.c
delete mode 100644 crypto/sha512_generic.c
delete mode 100644 include/crypto/internal/sha2.h
delete mode 100644 include/crypto/sha1_base.h
delete mode 100644 include/crypto/sha512_base.h
rename {arch/arm/lib/crypto => lib/crypto/arm}/.gitignore (83%)
rename {arch/arm/lib/crypto => lib/crypto/arm}/Kconfig (79%)
rename {arch/arm/lib/crypto => lib/crypto/arm}/Makefile (80%)
rename {arch/arm/lib/crypto => lib/crypto/arm}/blake2s-core.S (100%)
rename {arch/arm/lib/crypto => lib/crypto/arm}/blake2s-glue.c (100%)
rename {arch/arm/lib/crypto => lib/crypto/arm}/chacha-glue.c (100%)
rename {arch/arm/lib/crypto => lib/crypto/arm}/chacha-neon-core.S (100%)
rename {arch/arm/lib/crypto => lib/crypto/arm}/chacha-scalar-core.S (100%)
rename {arch/arm/lib/crypto => lib/crypto/arm}/poly1305-armv4.pl (100%)
rename {arch/arm/lib/crypto => lib/crypto/arm}/poly1305-glue.c (93%)
rename {arch/arm/crypto => lib/crypto/arm}/sha1-armv4-large.S (100%)
rename {arch/arm/crypto => lib/crypto/arm}/sha1-armv7-neon.S (98%)
rename {arch/arm/crypto => lib/crypto/arm}/sha1-ce-core.S (96%)
create mode 100644 lib/crypto/arm/sha1.h
rename {arch/arm/lib/crypto => lib/crypto/arm}/sha256-armv4.pl (97%)
rename {arch/arm/lib/crypto => lib/crypto/arm}/sha256-ce.S (97%)
create mode 100644 lib/crypto/arm/sha256.h
rename {arch/arm/crypto => lib/crypto/arm}/sha512-armv4.pl (100%)
create mode 100644 lib/crypto/arm/sha512.h
rename {arch/arm64/lib/crypto => lib/crypto/arm64}/.gitignore (83%)
rename {arch/arm64/lib/crypto => lib/crypto/arm64}/Kconfig (70%)
rename {arch/arm64/lib/crypto => lib/crypto/arm64}/Makefile (66%)
rename {arch/arm64/lib/crypto => lib/crypto/arm64}/chacha-neon-core.S (100%)
rename {arch/arm64/lib/crypto => lib/crypto/arm64}/chacha-neon-glue.c (100%)
rename {arch/arm64/lib/crypto => lib/crypto/arm64}/poly1305-armv8.pl (100%)
rename {arch/arm64/lib/crypto => lib/crypto/arm64}/poly1305-glue.c (95%)
rename {arch/arm64/crypto => lib/crypto/arm64}/sha1-ce-core.S (76%)
create mode 100644 lib/crypto/arm64/sha1.h
rename {arch/arm64/lib/crypto => lib/crypto/arm64}/sha2-armv8.pl (99%)
rename {arch/arm64/lib/crypto => lib/crypto/arm64}/sha256-ce.S (98%)
create mode 100644 lib/crypto/arm64/sha256.h
rename {arch/arm64/crypto => lib/crypto/arm64}/sha512-ce-core.S (88%)
create mode 100644 lib/crypto/arm64/sha512.h
rename {crypto => lib/crypto}/hash_info.c (100%)
rename {arch/mips/lib/crypto => lib/crypto/mips}/.gitignore (100%)
rename {arch/mips/lib/crypto => lib/crypto/mips}/Kconfig (100%)
rename {arch/mips/lib/crypto => lib/crypto/mips}/Makefile (100%)
rename {arch/mips/lib/crypto => lib/crypto/mips}/chacha-core.S (97%)
rename {arch/mips/lib/crypto => lib/crypto/mips}/chacha-glue.c (100%)
rename {arch/mips/lib/crypto => lib/crypto/mips}/poly1305-glue.c (100%)
rename {arch/mips/lib/crypto => lib/crypto/mips}/poly1305-mips.pl (100%)
create mode 100644 lib/crypto/mips/sha1.h
rename arch/mips/cavium-octeon/crypto/octeon-sha256.c => lib/crypto/mips/sha256.h (74%)
create mode 100644 lib/crypto/mips/sha512.h
rename {arch/powerpc/lib/crypto => lib/crypto/powerpc}/Kconfig (79%)
rename {arch/powerpc/lib/crypto => lib/crypto/powerpc}/Makefile (73%)
rename {arch/powerpc/lib/crypto => lib/crypto/powerpc}/chacha-p10-glue.c (100%)
rename {arch/powerpc/lib/crypto => lib/crypto/powerpc}/chacha-p10le-8x.S (100%)
rename {arch/powerpc/lib/crypto => lib/crypto/powerpc}/poly1305-p10-glue.c (100%)
rename {arch/powerpc/lib/crypto => lib/crypto/powerpc}/poly1305-p10le_64.S (100%)
rename {arch/powerpc/crypto => lib/crypto/powerpc}/sha1-powerpc-asm.S (100%)
rename {arch/powerpc/crypto => lib/crypto/powerpc}/sha1-spe-asm.S (100%)
create mode 100644 lib/crypto/powerpc/sha1.h
rename {arch/powerpc/lib/crypto => lib/crypto/powerpc}/sha256-spe-asm.S (100%)
rename arch/powerpc/lib/crypto/sha256.c => lib/crypto/powerpc/sha256.h (72%)
create mode 100644 lib/crypto/riscv/Kconfig
rename {arch/riscv/lib/crypto => lib/crypto/riscv}/Makefile (56%)
rename {arch/riscv/lib/crypto => lib/crypto/riscv}/chacha-riscv64-glue.c (100%)
rename {arch/riscv/lib/crypto => lib/crypto/riscv}/chacha-riscv64-zvkb.S (100%)
rename {arch/riscv/lib/crypto => lib/crypto/riscv}/sha256-riscv64-zvknha_or_zvknhb-zvkb.S (98%)
create mode 100644 lib/crypto/riscv/sha256.h
rename {arch/riscv/crypto => lib/crypto/riscv}/sha512-riscv64-zvknhb-zvkb.S (98%)
create mode 100644 lib/crypto/riscv/sha512.h
rename {arch/s390/lib/crypto => lib/crypto/s390}/Kconfig (56%)
rename {arch/s390/lib/crypto => lib/crypto/s390}/Makefile (63%)
rename {arch/s390/lib/crypto => lib/crypto/s390}/chacha-glue.c (100%)
rename {arch/s390/lib/crypto => lib/crypto/s390}/chacha-s390.S (100%)
rename {arch/s390/lib/crypto => lib/crypto/s390}/chacha-s390.h (100%)
create mode 100644 lib/crypto/s390/sha1.h
create mode 100644 lib/crypto/s390/sha256.h
create mode 100644 lib/crypto/s390/sha512.h
delete mode 100644 lib/crypto/sha256-generic.c
create mode 100644 lib/crypto/sha512.c
create mode 100644 lib/crypto/sparc/sha1.h
rename {arch/sparc/crypto => lib/crypto/sparc}/sha1_asm.S (100%)
rename arch/sparc/lib/crypto/sha256.c => lib/crypto/sparc/sha256.h (53%)
rename {arch/sparc/lib/crypto => lib/crypto/sparc}/sha256_asm.S (100%)
create mode 100644 lib/crypto/sparc/sha512.h
rename {arch/sparc/crypto => lib/crypto/sparc}/sha512_asm.S (100%)
rename {arch/x86/lib/crypto => lib/crypto/x86}/.gitignore (100%)
rename {arch/x86/lib/crypto => lib/crypto/x86}/Kconfig (76%)
rename {arch/x86/lib/crypto => lib/crypto/x86}/Makefile (79%)
rename {arch/x86/lib/crypto => lib/crypto/x86}/blake2s-core.S (100%)
rename {arch/x86/lib/crypto => lib/crypto/x86}/blake2s-glue.c (100%)
rename {arch/x86/lib/crypto => lib/crypto/x86}/chacha-avx2-x86_64.S (100%)
rename {arch/x86/lib/crypto => lib/crypto/x86}/chacha-avx512vl-x86_64.S (100%)
rename {arch/x86/lib/crypto => lib/crypto/x86}/chacha-ssse3-x86_64.S (100%)
rename {arch/x86/lib/crypto => lib/crypto/x86}/chacha_glue.c (100%)
rename {arch/x86/lib/crypto => lib/crypto/x86}/poly1305-x86_64-cryptogams.pl (100%)
rename {arch/x86/lib/crypto => lib/crypto/x86}/poly1305_glue.c (65%)
rename arch/x86/crypto/sha1_avx2_x86_64_asm.S => lib/crypto/x86/sha1-avx2-asm.S (98%)
create mode 100644 lib/crypto/x86/sha1-ni-asm.S
rename arch/x86/crypto/sha1_ssse3_asm.S => lib/crypto/x86/sha1-ssse3-and-avx.S (97%)
create mode 100644 lib/crypto/x86/sha1.h
rename {arch/x86/lib/crypto => lib/crypto/x86}/sha256-avx-asm.S (98%)
rename {arch/x86/lib/crypto => lib/crypto/x86}/sha256-avx2-asm.S (99%)
rename {arch/x86/lib/crypto => lib/crypto/x86}/sha256-ni-asm.S (97%)
rename {arch/x86/lib/crypto => lib/crypto/x86}/sha256-ssse3-asm.S (98%)
create mode 100644 lib/crypto/x86/sha256.h
rename {arch/x86/crypto => lib/crypto/x86}/sha512-avx-asm.S (98%)
rename {arch/x86/crypto => lib/crypto/x86}/sha512-avx2-asm.S (99%)
rename {arch/x86/crypto => lib/crypto/x86}/sha512-ssse3-asm.S (97%)
create mode 100644 lib/crypto/x86/sha512.h
Powered by blists - more mailing lists