mirror-linux/lib/crypto/x86
Linus Torvalds 1896ce8eb6 Optimize fsverity with 2-way interleaved hashing
Add support for 2-way interleaved SHA-256 hashing to lib/crypto/, and
 make fsverity use it for faster file data verification. This improves
 fsverity performance on many x86_64 and arm64 processors.
 
 Later, I plan to make dm-verity use this too.
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYIADIWIQSacvsUNc7UX4ntmEPzXCl4vpKOKwUCaNg4/RQcZWJpZ2dlcnNA
 a2VybmVsLm9yZwAKCRDzXCl4vpKOK4fMAP9Xz00JNDfJ+mOVHIYOhAlWFGnug0X1
 cvoRf4QXchNlbwD9HTJQQDQXnbsPy3QPrUVfl2FqCW7c6vRlBJijhD6j4wE=
 =6dCR
 -----END PGP SIGNATURE-----

Merge tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fsverity/linux

Pull interleaved SHA-256 hashing support from Eric Biggers:
 "Optimize fsverity with 2-way interleaved hashing

  Add support for 2-way interleaved SHA-256 hashing to lib/crypto/, and
  make fsverity use it for faster file data verification. This improves
  fsverity performance on many x86_64 and arm64 processors.

  Later, I plan to make dm-verity use this too"

* tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fsverity/linux:
  fsverity: Use 2-way interleaved SHA-256 hashing when supported
  fsverity: Remove inode parameter from fsverity_hash_block()
  lib/crypto: tests: Add tests and benchmark for sha256_finup_2x()
  lib/crypto: x86/sha256: Add support for 2-way interleaved hashing
  lib/crypto: arm64/sha256: Add support for 2-way interleaved hashing
  lib/crypto: sha256: Add support for 2-way interleaved hashing
2025-09-29 15:55:20 -07:00
..
.gitignore lib/crypto: x86: Move arch/x86/lib/crypto/ into lib/crypto/ 2025-06-30 09:26:20 -07:00
blake2s-core.S lib/crypto: x86/blake2s: Reduce size of BLAKE2S_SIGMA2 2025-08-29 09:50:19 -07:00
blake2s.h lib/crypto: blake2s: Consolidate into single C translation unit 2025-08-29 09:50:19 -07:00
chacha-avx2-x86_64.S lib/crypto: x86: Move arch/x86/lib/crypto/ into lib/crypto/ 2025-06-30 09:26:20 -07:00
chacha-avx512vl-x86_64.S lib/crypto: x86: Move arch/x86/lib/crypto/ into lib/crypto/ 2025-06-30 09:26:20 -07:00
chacha-ssse3-x86_64.S lib/crypto: x86: Move arch/x86/lib/crypto/ into lib/crypto/ 2025-06-30 09:26:20 -07:00
chacha.h lib/crypto: chacha: Consolidate into single module 2025-08-29 09:50:19 -07:00
curve25519.h lib/crypto: curve25519: Consolidate into single module 2025-09-06 16:32:43 -07:00
poly1305-x86_64-cryptogams.pl lib/crypto: poly1305: Consolidate into single module 2025-08-29 09:49:18 -07:00
poly1305.h lib/crypto: poly1305: Consolidate into single module 2025-08-29 09:49:18 -07:00
sha1-avx2-asm.S lib/crypto: x86/sha1: Migrate optimized code into library 2025-07-14 11:28:35 -07:00
sha1-ni-asm.S lib/crypto: x86/sha1-ni: Convert to use rounds macros 2025-07-20 21:42:42 -07:00
sha1-ssse3-and-avx.S lib/crypto: x86/sha1: Migrate optimized code into library 2025-07-14 11:28:35 -07:00
sha1.h lib/crypto: Drop inline from all *_mod_init_arch() functions 2025-08-27 08:15:35 -07:00
sha256-avx-asm.S lib/crypto: x86/sha256: Remove unnecessary checks for nblocks==0 2025-07-04 10:23:56 -07:00
sha256-avx2-asm.S lib/crypto: x86/sha256: Remove unnecessary checks for nblocks==0 2025-07-04 10:23:56 -07:00
sha256-ni-asm.S lib/crypto: x86/sha256: Add support for 2-way interleaved hashing 2025-09-17 13:09:40 -05:00
sha256-ssse3-asm.S lib/crypto: x86/sha256: Remove unnecessary checks for nblocks==0 2025-07-04 10:23:56 -07:00
sha256.h Optimize fsverity with 2-way interleaved hashing 2025-09-29 15:55:20 -07:00
sha512-avx-asm.S
sha512-avx2-asm.S
sha512-ssse3-asm.S
sha512.h lib/crypto: Drop inline from all *_mod_init_arch() functions 2025-08-27 08:15:35 -07:00