All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Biggers <ebiggers@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org,
	Ard Biesheuvel <ardb@kernel.org>,
	"Jason A. Donenfeld" <Jason@zx2c4.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Sohil Mehta <sohil.mehta@intel.com>
Subject: [GIT PULL] Crypto library updates for 6.17
Date: Sun, 27 Jul 2025 16:43:45 -0700	[thread overview]
Message-ID: <20250727234345.GB1261@sol> (raw)

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

             reply	other threads:[~2025-07-27 23:44 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-27 23:43 Eric Biggers [this message]
2025-07-29  1:12 ` [GIT PULL] Crypto library updates for 6.17 pr-tracker-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250727234345.GB1261@sol \
    --to=ebiggers@kernel.org \
    --cc=Jason@zx2c4.com \
    --cc=ardb@kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=palmer@dabbelt.com \
    --cc=sohil.mehta@intel.com \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.