Commit 5abe8d8efc02 for kernel

commit 5abe8d8efc022cc78b6273d01e4a453242b9f4d8
Merge: 619f4edc8d4f 2dbb6f4a25d3
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Dec 2 18:01:03 2025 -0800

    Merge tag 'libcrypto-updates-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux

    Pull crypto library updates from Eric Biggers:
     "This is the main crypto library pull request for 6.19. It includes:

       - Add SHA-3 support to lib/crypto/, including support for both the
         hash functions and the extendable-output functions. Reimplement the
         existing SHA-3 crypto_shash support on top of the library.

         This is motivated mainly by the upcoming support for the ML-DSA
         signature algorithm, which needs the SHAKE128 and SHAKE256
         functions. But even on its own it's a useful cleanup.

         This also fixes the longstanding issue where the
         architecture-optimized SHA-3 code was disabled by default.

       - Add BLAKE2b support to lib/crypto/, and reimplement the existing
         BLAKE2b crypto_shash support on top of the library.

         This is motivated mainly by btrfs, which supports BLAKE2b
         checksums. With this change, all btrfs checksum algorithms now have
         library APIs. btrfs is planned to start just using the library
         directly.

         This refactor also improves consistency between the BLAKE2b code
         and BLAKE2s code. And as usual, it also fixes the issue where the
         architecture-optimized BLAKE2b code was disabled by default.

       - Add POLYVAL support to lib/crypto/, replacing the existing POLYVAL
         support in crypto_shash. Reimplement HCTR2 on top of the library.

         This simplifies the code and improves HCTR2 performance. As usual,
         it also makes the architecture-optimized code be enabled by
         default. The generic implementation of POLYVAL is greatly improved
         as well.

       - Clean up the BLAKE2s code

       - Add FIPS self-tests for SHA-1, SHA-2, and SHA-3"

    * tag 'libcrypto-updates-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux: (37 commits)
      fscrypt: Drop obsolete recommendation to enable optimized POLYVAL
      crypto: polyval - Remove the polyval crypto_shash
      crypto: hctr2 - Convert to use POLYVAL library
      lib/crypto: x86/polyval: Migrate optimized code into library
      lib/crypto: arm64/polyval: Migrate optimized code into library
      lib/crypto: polyval: Add POLYVAL library
      crypto: polyval - Rename conflicting functions
      lib/crypto: x86/blake2s: Use vpternlogd for 3-input XORs
      lib/crypto: x86/blake2s: Avoid writing back unchanged 'f' value
      lib/crypto: x86/blake2s: Improve readability
      lib/crypto: x86/blake2s: Use local labels for data
      lib/crypto: x86/blake2s: Drop check for nblocks == 0
      lib/crypto: x86/blake2s: Fix 32-bit arg treated as 64-bit
      lib/crypto: arm, arm64: Drop filenames from file comments
      lib/crypto: arm/blake2s: Fix some comments
      crypto: s390/sha3 - Remove superseded SHA-3 code
      crypto: sha3 - Reimplement using library API
      crypto: jitterentropy - Use default sha3 implementation
      lib/crypto: s390/sha3: Add optimized one-shot SHA-3 digest functions
      lib/crypto: sha3: Support arch overrides of one-shot digest functions
      ...