linux-block.git
6 weeks agocrypto: s390/sha512 - Fix sha512 state size
Herbert Xu [Tue, 29 Apr 2025 09:12:30 +0000 (17:12 +0800)]
crypto: s390/sha512 - Fix sha512 state size

The sha512 state size in s390_sha_ctx is out by a factor of 8,
fix it so that it stays below HASH_MAX_DESCSIZE.  Also fix the
state init function which was writing garbage to the state.  Luckily
this is not actually used for anything other than export.

Reported-by: Harald Freudenberger <freude@linux.ibm.com>
Fixes: 572b5c4682c7 ("crypto: s390/sha512 - Use API partial block handling")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: sun8i-ss - do not use sg_dma_len before calling DMA functions
Corentin Labbe [Sun, 27 Apr 2025 11:12:36 +0000 (13:12 +0200)]
crypto: sun8i-ss - do not use sg_dma_len before calling DMA functions

When testing sun8i-ss with multi_v7_defconfig, all CBC algorithm fail crypto
selftests.
This is strange since on sunxi_defconfig, everything was ok.
The problem was in the IV setup loop which never run because sg_dma_len
was 0.

Fixes: 359e893e8af4 ("crypto: sun8i-ss - rework handling of IV")
Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: scatterwalk - Move skcipher walk and use it for memcpy_sglist
Herbert Xu [Sun, 27 Apr 2025 00:42:54 +0000 (08:42 +0800)]
crypto: scatterwalk - Move skcipher walk and use it for memcpy_sglist

Move the generic part of skcipher walk into scatterwalk, and use
it to implement memcpy_sglist.

This makes memcpy_sglist do the right thing when two distinct SG
lists contain identical subsets (e.g., the AD part of AEAD).

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: ccp - Include crypto/utils.h for crypto_memneq
Herbert Xu [Sun, 27 Apr 2025 00:42:51 +0000 (08:42 +0800)]
crypto: ccp - Include crypto/utils.h for crypto_memneq

Include crypto/utils.h to get crypto_memneq rather than relying
on random inclusions.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: octeontx2 - Simplify multiple return statements
Thorsten Blum [Sat, 26 Apr 2025 22:26:19 +0000 (00:26 +0200)]
crypto: octeontx2 - Simplify multiple return statements

Simplify multiple return statements by directly returning the boolean
expressions.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: iaa - Adjust workqueue allocation type
Kees Cook [Sat, 26 Apr 2025 06:11:31 +0000 (23:11 -0700)]
crypto: iaa - Adjust workqueue allocation type

In preparation for making the kmalloc family of allocators type aware,
we need to make sure that the returned type from the allocation matches
the type of the variable being assigned. (Before, the allocator would
always return "void *", which can be implicitly cast to any pointer type.)

The assigned type is "struct idxd_wq **", but the returned type will be
"struct wq **". These are the same size allocation (pointer sized), but
the types don't match. Adjust the allocation type to match the assignment.

Signed-off-by: Kees Cook <kees@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: sun8i-ce-cipher - use pm_runtime_resume_and_get()
Ovidiu Panait [Fri, 25 Apr 2025 12:45:17 +0000 (15:45 +0300)]
crypto: sun8i-ce-cipher - use pm_runtime_resume_and_get()

Replace pm_runtime_get_sync() usage with pm_runtime_resume_and_get() to
simplify error handling.

This is recommended in the documentation of pm_runtime_get_sync():
/**
 * pm_runtime_get_sync - Bump up usage counter of a device and resume it.
...
 * Consider using pm_runtime_resume_and_get() instead of it, especially
 * if its return value is checked by the caller, as this is likely to result
 * in cleaner code.
...
 */

Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Tested-by: Corentin LABBE <clabbe.montjoie@gmail.com>
Acked-by: Corentin LABBE <clabbe.montjoie@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: sun8i-ce-cipher - use IS_ENABLED() checks for debugfs stats
Ovidiu Panait [Fri, 25 Apr 2025 12:45:16 +0000 (15:45 +0300)]
crypto: sun8i-ce-cipher - use IS_ENABLED() checks for debugfs stats

Add IS_ENABLED(CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG) checks before the
fallback counter updates to make sure the code is not included when
debugfs statistics support is not enabled.

Also, drop the existing ifdef guards, since 'struct sun8i_ce_alg_template'
is always defined, even with CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG disabled.

Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Tested-by: Corentin LABBE <clabbe.montjoie@gmail.com>
Acked-by: Corentin LABBE <clabbe.montjoie@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: sun8i-ce-cipher - use crypto_skcipher_driver_name()
Ovidiu Panait [Fri, 25 Apr 2025 12:45:15 +0000 (15:45 +0300)]
crypto: sun8i-ce-cipher - use crypto_skcipher_driver_name()

Use crypto_skcipher_driver_name() helper from <crypto/skcipher.h>, instead
of accessing struct crypto_alg directly.

Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Acked-by: Corentin LABBE <clabbe.montjoie@gmail.com>
Tested-by: Corentin LABBE <clabbe.montjoie@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: sun8i-ce-cipher - fix error handling in sun8i_ce_cipher_prepare()
Ovidiu Panait [Fri, 25 Apr 2025 12:45:14 +0000 (15:45 +0300)]
crypto: sun8i-ce-cipher - fix error handling in sun8i_ce_cipher_prepare()

Fix two DMA cleanup issues on the error path in sun8i_ce_cipher_prepare():

1] If dma_map_sg() fails for areq->dst, the device driver would try to free
   DMA memory it has not allocated in the first place. To fix this, on the
   "theend_sgs" error path, call dma unmap only if the corresponding dma
   map was successful.

2] If the dma_map_single() call for the IV fails, the device driver would
   try to free an invalid DMA memory address on the "theend_iv" path:
   ------------[ cut here ]------------
   DMA-API: sun8i-ce 1904000.crypto: device driver tries to free an invalid DMA memory address
   WARNING: CPU: 2 PID: 69 at kernel/dma/debug.c:968 check_unmap+0x123c/0x1b90
   Modules linked in: skcipher_example(O+)
   CPU: 2 UID: 0 PID: 69 Comm: 1904000.crypto- Tainted: G           O        6.15.0-rc3+ #24 PREEMPT
   Tainted: [O]=OOT_MODULE
   Hardware name: OrangePi Zero2 (DT)
   pc : check_unmap+0x123c/0x1b90
   lr : check_unmap+0x123c/0x1b90
   ...
   Call trace:
    check_unmap+0x123c/0x1b90 (P)
    debug_dma_unmap_page+0xac/0xc0
    dma_unmap_page_attrs+0x1f4/0x5fc
    sun8i_ce_cipher_do_one+0x1bd4/0x1f40
    crypto_pump_work+0x334/0x6e0
    kthread_worker_fn+0x21c/0x438
    kthread+0x374/0x664
    ret_from_fork+0x10/0x20
   ---[ end trace 0000000000000000 ]---

To fix this, check for !dma_mapping_error() before calling
dma_unmap_single() on the "theend_iv" path.

Fixes: 06f751b61329 ("crypto: allwinner - Add sun8i-ce Crypto Engine")
Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: api - Add crypto_stack_request_init and initialise flags fully
Herbert Xu [Fri, 25 Apr 2025 03:05:29 +0000 (11:05 +0800)]
crypto: api - Add crypto_stack_request_init and initialise flags fully

Add a helper to initialise crypto stack requests and use it for
ahash and acomp.  Make sure that the flags field is initialised
fully in the helper to silence false-positive warnings from the
compiler.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202504250751.mdy28Ibr-lkp@intel.com/
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: polyval-generic - Use API partial block handling
Herbert Xu [Thu, 24 Apr 2025 10:47:30 +0000 (18:47 +0800)]
crypto: polyval-generic - Use API partial block handling

Use the Crypto API partial block handling.

The accelerated export format on x86/arm64 is easier to use so
switch the generic polyval algorithm to use that format instead.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: x86/polyval - Use API partial block handling
Herbert Xu [Thu, 24 Apr 2025 10:47:28 +0000 (18:47 +0800)]
crypto: x86/polyval - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: arm64/polyval - Use API partial block handling
Herbert Xu [Thu, 24 Apr 2025 10:47:26 +0000 (18:47 +0800)]
crypto: arm64/polyval - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: hash - Fix clone error handling
Herbert Xu [Wed, 23 Apr 2025 09:22:31 +0000 (17:22 +0800)]
crypto: hash - Fix clone error handling

Do not copy the exit function in crypto_clone_tfm as it should
only be set after init_tfm or clone_tfm has succeeded.

Move the setting into crypto_clone_ahash and crypto_clone_shash
instead.

Also clone the fb if necessary.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: api - Add crypto_request_clone and fb
Herbert Xu [Wed, 23 Apr 2025 09:22:28 +0000 (17:22 +0800)]
crypto: api - Add crypto_request_clone and fb

Add a helper to clone crypto requests and eliminate code duplication.
Use kmemdup in the helper.

Also add an fb field to crypto_tfm.

This also happens to fix the existing implementations which were
buggy.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202504230118.1CxUaUoX-lkp@intel.com/
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202504230004.c7mrY0C6-lkp@intel.com/
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: lib/poly1305 - remove INTERNAL symbol and selection of CRYPTO
Eric Biggers [Tue, 22 Apr 2025 15:27:16 +0000 (08:27 -0700)]
crypto: lib/poly1305 - remove INTERNAL symbol and selection of CRYPTO

Now that the architecture-optimized Poly1305 kconfig symbols are defined
regardless of CRYPTO, there is no need for CRYPTO_LIB_POLY1305 to select
CRYPTO.  So, remove that.  This makes the indirection through the
CRYPTO_LIB_POLY1305_INTERNAL symbol unnecessary, so get rid of that and
just use CRYPTO_LIB_POLY1305 directly.  Finally, make the fallback to
the generic implementation use a default value instead of a select; this
makes it consistent with how the arch-optimized code gets enabled and
also with how CRYPTO_LIB_BLAKE2S_GENERIC gets enabled.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: lib/chacha - remove INTERNAL symbol and selection of CRYPTO
Eric Biggers [Tue, 22 Apr 2025 15:27:15 +0000 (08:27 -0700)]
crypto: lib/chacha - remove INTERNAL symbol and selection of CRYPTO

Now that the architecture-optimized ChaCha kconfig symbols are defined
regardless of CRYPTO, there is no need for CRYPTO_LIB_CHACHA to select
CRYPTO.  So, remove that.  This makes the indirection through the
CRYPTO_LIB_CHACHA_INTERNAL symbol unnecessary, so get rid of that and
just use CRYPTO_LIB_CHACHA directly.  Finally, make the fallback to the
generic implementation use a default value instead of a select; this
makes it consistent with how the arch-optimized code gets enabled and
also with how CRYPTO_LIB_BLAKE2S_GENERIC gets enabled.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: x86 - move library functions to arch/x86/lib/crypto/
Eric Biggers [Tue, 22 Apr 2025 15:27:14 +0000 (08:27 -0700)]
crypto: x86 - move library functions to arch/x86/lib/crypto/

Continue disentangling the crypto library functions from the generic
crypto infrastructure by moving the x86 BLAKE2s, ChaCha, and Poly1305
library functions into a new directory arch/x86/lib/crypto/ that does
not depend on CRYPTO.  This mirrors the distinction between crypto/ and
lib/crypto/.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: s390 - move library functions to arch/s390/lib/crypto/
Eric Biggers [Tue, 22 Apr 2025 15:27:13 +0000 (08:27 -0700)]
crypto: s390 - move library functions to arch/s390/lib/crypto/

Continue disentangling the crypto library functions from the generic
crypto infrastructure by moving the s390 ChaCha library functions into a
new directory arch/s390/lib/crypto/ that does not depend on CRYPTO.
This mirrors the distinction between crypto/ and lib/crypto/.

Acked-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: riscv - move library functions to arch/riscv/lib/crypto/
Eric Biggers [Tue, 22 Apr 2025 15:27:12 +0000 (08:27 -0700)]
crypto: riscv - move library functions to arch/riscv/lib/crypto/

Continue disentangling the crypto library functions from the generic
crypto infrastructure by moving the riscv ChaCha library functions into
a new directory arch/riscv/lib/crypto/ that does not depend on CRYPTO.
This mirrors the distinction between crypto/ and lib/crypto/.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: powerpc - move library functions to arch/powerpc/lib/crypto/
Eric Biggers [Tue, 22 Apr 2025 15:27:11 +0000 (08:27 -0700)]
crypto: powerpc - move library functions to arch/powerpc/lib/crypto/

Continue disentangling the crypto library functions from the generic
crypto infrastructure by moving the powerpc ChaCha and Poly1305 library
functions into a new directory arch/powerpc/lib/crypto/ that does not
depend on CRYPTO.  This mirrors the distinction between crypto/ and
lib/crypto/.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: mips - move library functions to arch/mips/lib/crypto/
Eric Biggers [Tue, 22 Apr 2025 15:27:10 +0000 (08:27 -0700)]
crypto: mips - move library functions to arch/mips/lib/crypto/

Continue disentangling the crypto library functions from the generic
crypto infrastructure by moving the mips ChaCha and Poly1305 library
functions into a new directory arch/mips/lib/crypto/ that does not
depend on CRYPTO.  This mirrors the distinction between crypto/ and
lib/crypto/.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: arm64 - move library functions to arch/arm64/lib/crypto/
Eric Biggers [Tue, 22 Apr 2025 15:27:09 +0000 (08:27 -0700)]
crypto: arm64 - move library functions to arch/arm64/lib/crypto/

Continue disentangling the crypto library functions from the generic
crypto infrastructure by moving the arm64 ChaCha and Poly1305 library
functions into a new directory arch/arm64/lib/crypto/ that does not
depend on CRYPTO.  This mirrors the distinction between crypto/ and
lib/crypto/.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: arm - move library functions to arch/arm/lib/crypto/
Eric Biggers [Tue, 22 Apr 2025 15:27:08 +0000 (08:27 -0700)]
crypto: arm - move library functions to arch/arm/lib/crypto/

Continue disentangling the crypto library functions from the generic
crypto infrastructure by moving the arm BLAKE2s, ChaCha, and Poly1305
library functions into a new directory arch/arm/lib/crypto/ that does
not depend on CRYPTO.  This mirrors the distinction between crypto/ and
lib/crypto/.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: x86 - drop redundant dependencies on X86
Eric Biggers [Tue, 22 Apr 2025 15:27:07 +0000 (08:27 -0700)]
crypto: x86 - drop redundant dependencies on X86

arch/x86/crypto/Kconfig is sourced only when CONFIG_X86=y, so there is
no need for the symbols defined inside it to depend on X86.

In the case of CRYPTO_TWOFISH_586 and CRYPTO_TWOFISH_X86_64, the
dependency was actually on '(X86 || UML_X86)', which suggests that these
two symbols were intended to be available under user-mode Linux as well.
Yet, again these symbols were defined only when CONFIG_X86=y, so that
was not the case.  Just remove this redundant dependency.

Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: s390 - drop redundant dependencies on S390
Eric Biggers [Tue, 22 Apr 2025 15:27:06 +0000 (08:27 -0700)]
crypto: s390 - drop redundant dependencies on S390

arch/s390/crypto/Kconfig is sourced only when CONFIG_S390=y, so there is
no need for the symbols defined inside it to depend on S390.

Acked-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: powerpc - drop redundant dependencies on PPC
Eric Biggers [Tue, 22 Apr 2025 15:27:05 +0000 (08:27 -0700)]
crypto: powerpc - drop redundant dependencies on PPC

arch/powerpc/crypto/Kconfig is sourced only when CONFIG_PPC=y, so there
is no need for the symbols defined inside it to depend on PPC.

Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
6 weeks agocrypto: arm64 - drop redundant dependencies on ARM64
Eric Biggers [Tue, 22 Apr 2025 15:27:04 +0000 (08:27 -0700)]
crypto: arm64 - drop redundant dependencies on ARM64

arch/arm64/crypto/Kconfig is sourced only when CONFIG_ARM64=y, so there
is no need for the symbols defined inside it to depend on ARM64.

Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm64/sha1 - Set finalize for short finup
Herbert Xu [Fri, 25 Apr 2025 10:58:13 +0000 (18:58 +0800)]
crypto: arm64/sha1 - Set finalize for short finup

Always set sctx->finalize before calling finup as it may not have
been set previously on a short final.

Reported-by: Corentin LABBE <clabbe.montjoie@gmail.com>
Fixes: b97d31100e36 ("crypto: arm64/sha1 - Use API partial block handling")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Tested-by: Corentin LABBE <clabbe.montjoie@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm/blake2b - Set FINAL_NONZERO
Herbert Xu [Fri, 25 Apr 2025 03:33:39 +0000 (11:33 +0800)]
crypto: arm/blake2b - Set FINAL_NONZERO

Set FINAL_NONZERO as blake2b expects to have at least one byte for
finalisation.

Reported-by: Corentin LABBE <clabbe.montjoie@gmail.com>
Fixes: cc28260ab4fb ("crypto: arm/blake2b - Use API partial block handling")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Tested-by: Corentin LABBE <clabbe.montjoie@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: riscv - Use SYM_FUNC_START for functions only called directly
Nathan Chancellor [Fri, 25 Apr 2025 00:23:22 +0000 (17:23 -0700)]
crypto: riscv - Use SYM_FUNC_START for functions only called directly

After some recent changes to the RISC-V crypto code that turned some
indirect function calls into direct ones, builds with CONFIG_CFI_CLANG
fail with:

  ld.lld: error: undefined symbol: __kcfi_typeid_sm3_transform_zvksh_zvkb
  >>> referenced by arch/riscv/crypto/sm3-riscv64-zvksh-zvkb.o:(.text+0x2) in archive vmlinux.a

  ld.lld: error: undefined symbol: __kcfi_typeid_sha512_transform_zvknhb_zvkb
  >>> referenced by arch/riscv/crypto/sha512-riscv64-zvknhb-zvkb.o:(.text+0x2) in archive vmlinux.a

  ld.lld: error: undefined symbol: __kcfi_typeid_sha256_transform_zvknha_or_zvknhb_zvkb
  >>> referenced by arch/riscv/crypto/sha256-riscv64-zvknha_or_zvknhb-zvkb.o:(.text+0x2) in archive vmlinux.a

As these functions are no longer indirectly called (i.e., have their
address taken), the compiler will not emit __kcfi_typeid symbols for
them but SYM_TYPED_FUNC_START expects these to exist at link time.

Switch the definitions of these functions to use SYM_FUNC_START, as they
no longer need kCFI type information since they are only called
directly.

Fixes: 1523eaed0ac5 ("crypto: riscv/sm3 - Use API partial block handling")
Fixes: 561aab1104d8 ("crypto: riscv/sha512 - Use API partial block handling")
Fixes: e6c5597badf2 ("crypto: riscv/sha256 - Use API partial block handling")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: engine - Remove CRYPTO_ALG_ENGINE bit
Herbert Xu [Thu, 24 Apr 2025 14:42:51 +0000 (22:42 +0800)]
crypto: engine - Remove CRYPTO_ALG_ENGINE bit

Remove the private and obsolete CRYPTO_ALG_ENGINE bit which is
conflicting with the new CRYPTO_ALG_DUP_FIRST bit.

Reported-by: Corentin Labbe <clabbe.montjoie@gmail.com>
Fixes: f1440a90465b ("crypto: api - Add support for duplicating algorithms before registration")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Herbert Xu [Fri, 25 Apr 2025 02:37:30 +0000 (10:37 +0800)]
Merge git://git./linux/kernel/git/herbert/crypto-2.6

Merge crypto tree to pick up the scompress scratch refcount fix.  The
merge resolution is slightly non-trivial as the context has shifted.

7 weeks agocrypto: scompress - increment scomp_scratch_users when already allocated
Sabrina Dubroca [Thu, 24 Apr 2025 20:15:50 +0000 (22:15 +0200)]
crypto: scompress - increment scomp_scratch_users when already allocated

Commit ddd0a42671c0 only increments scomp_scratch_users when it was 0,
causing a panic when using ipcomp:

    Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASAN NOPTI
    KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
    CPU: 1 UID: 0 PID: 619 Comm: ping Tainted: G                 N  6.15.0-rc3-net-00032-ga79be02bba5c #41 PREEMPT(full)
    Tainted: [N]=TEST
    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Arch Linux 1.16.3-1-1 04/01/2014
    RIP: 0010:inflate_fast+0x5a2/0x1b90
    [...]
    Call Trace:
     <IRQ>
     zlib_inflate+0x2d60/0x6620
     deflate_sdecompress+0x166/0x350
     scomp_acomp_comp_decomp+0x45f/0xa10
     scomp_acomp_decompress+0x21/0x120
     acomp_do_req_chain+0x3e5/0x4e0
     ipcomp_input+0x212/0x550
     xfrm_input+0x2de2/0x72f0
    [...]
    Kernel panic - not syncing: Fatal exception in interrupt
    Kernel Offset: disabled
    ---[ end Kernel panic - not syncing: Fatal exception in interrupt ]---

Instead, let's keep the old increment, and decrement back to 0 if the
scratch allocation fails.

Fixes: ddd0a42671c0 ("crypto: scompress - Fix scratch allocation failure handling")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: padlock-sha - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:01:13 +0000 (11:01 +0800)]
crypto: padlock-sha - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: nx - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:01:11 +0000 (11:01 +0800)]
crypto: nx - Use API partial block handling

Use the Crypto API partial block handling.

Also switch to the generic export format.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm64/sm4 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:01:09 +0000 (11:01 +0800)]
crypto: arm64/sm4 - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm64/aes - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:01:06 +0000 (11:01 +0800)]
crypto: arm64/aes - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: xcbc - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:01:04 +0000 (11:01 +0800)]
crypto: xcbc - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: cmac - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:01:02 +0000 (11:01 +0800)]
crypto: cmac - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: cbcmac - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:59 +0000 (11:00 +0800)]
crypto: cbcmac - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: lib/sm3 - Remove partial block helpers
Herbert Xu [Fri, 18 Apr 2025 03:00:57 +0000 (11:00 +0800)]
crypto: lib/sm3 - Remove partial block helpers

Now that all sm3_base users have been converted to use the API
partial block handling, remove the partial block helpers as well
as the lib/crypto functions.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: x86/sm3 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:55 +0000 (11:00 +0800)]
crypto: x86/sm3 - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: riscv/sm3 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:52 +0000 (11:00 +0800)]
crypto: riscv/sm3 - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm64/sm3-neon - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:50 +0000 (11:00 +0800)]
crypto: arm64/sm3-neon - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm64/sm3-ce - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:48 +0000 (11:00 +0800)]
crypto: arm64/sm3-ce - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: sm3-generic - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:45 +0000 (11:00 +0800)]
crypto: sm3-generic - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: sha512_base - Remove partial block helpers
Herbert Xu [Fri, 18 Apr 2025 03:00:43 +0000 (11:00 +0800)]
crypto: sha512_base - Remove partial block helpers

Now that all sha256_base users have been converted to use the API
partial block handling, remove the partial block helpers.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: sparc/sha512 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:41 +0000 (11:00 +0800)]
crypto: sparc/sha512 - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: s390/sha512 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:38 +0000 (11:00 +0800)]
crypto: s390/sha512 - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm/sha512 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:36 +0000 (11:00 +0800)]
crypto: arm/sha512 - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm64/sha512-ce - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:34 +0000 (11:00 +0800)]
crypto: arm64/sha512-ce - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm/sha512-asm - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:31 +0000 (11:00 +0800)]
crypto: arm/sha512-asm - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm/sha512-neon - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:29 +0000 (11:00 +0800)]
crypto: arm/sha512-neon - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: sha512-generic - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:27 +0000 (11:00 +0800)]
crypto: sha512-generic - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: riscv/sha512 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:25 +0000 (11:00 +0800)]
crypto: riscv/sha512 - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: mips/octeon-sha512 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:22 +0000 (11:00 +0800)]
crypto: mips/octeon-sha512 - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: x86/sha512 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:20 +0000 (11:00 +0800)]
crypto: x86/sha512 - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: zynqmp-sha - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:18 +0000 (11:00 +0800)]
crypto: zynqmp-sha - Use API partial block handling

Use the Crypto API partial block handling.

As this was the last user of the extra fields in struct sha3_state,
remove them.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: sha3-generic - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:15 +0000 (11:00 +0800)]
crypto: sha3-generic - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: s390/sha3 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:13 +0000 (11:00 +0800)]
crypto: s390/sha3 - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm64/sha3-ce - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:11 +0000 (11:00 +0800)]
crypto: arm64/sha3-ce - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: sha256_base - Remove partial block helpers
Herbert Xu [Fri, 18 Apr 2025 03:00:08 +0000 (11:00 +0800)]
crypto: sha256_base - Remove partial block helpers

Now that all sha256_base users have been converted to use the API
partial block handling, remove the partial block helpers.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: sparc/sha256 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:06 +0000 (11:00 +0800)]
crypto: sparc/sha256 - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: s390/sha256 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:04 +0000 (11:00 +0800)]
crypto: s390/sha256 - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: powerpc/sha256-spe - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 03:00:01 +0000 (11:00 +0800)]
crypto: powerpc/sha256-spe - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm64/sha256 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:59 +0000 (10:59 +0800)]
crypto: arm64/sha256 - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm64/sha256-ce - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:57 +0000 (10:59 +0800)]
crypto: arm64/sha256-ce - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm/sha256-asm - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:55 +0000 (10:59 +0800)]
crypto: arm/sha256-asm - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm/sha256-neon - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:52 +0000 (10:59 +0800)]
crypto: arm/sha256-neon - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm/sha256-ce - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:50 +0000 (10:59 +0800)]
crypto: arm/sha256-ce - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: sha256-generic - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:48 +0000 (10:59 +0800)]
crypto: sha256-generic - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: riscv/sha256 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:45 +0000 (10:59 +0800)]
crypto: riscv/sha256 - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: mips/octeon-sha256 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:43 +0000 (10:59 +0800)]
crypto: mips/octeon-sha256 - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: x86/sha256 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:41 +0000 (10:59 +0800)]
crypto: x86/sha256 - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: sha1_base - Remove partial block helpers
Herbert Xu [Fri, 18 Apr 2025 02:59:38 +0000 (10:59 +0800)]
crypto: sha1_base - Remove partial block helpers

Now that all sha1_base users have been converted to use the API
partial block handling, remove the partial block helpers.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: sparc/sha1 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:36 +0000 (10:59 +0800)]
crypto: sparc/sha1 - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: s390/sha1 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:34 +0000 (10:59 +0800)]
crypto: s390/sha1 - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: powerpc/sha1-spe - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:31 +0000 (10:59 +0800)]
crypto: powerpc/sha1-spe - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: powerpc/sha1 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:29 +0000 (10:59 +0800)]
crypto: powerpc/sha1 - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm/sha1-asm - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:27 +0000 (10:59 +0800)]
crypto: arm/sha1-asm - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm/sha1-neon - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:25 +0000 (10:59 +0800)]
crypto: arm/sha1-neon - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm/sha1-ce - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:22 +0000 (10:59 +0800)]
crypto: arm/sha1-ce - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: sha1-generic - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:20 +0000 (10:59 +0800)]
crypto: sha1-generic - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: mips/octeon-sha1 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:18 +0000 (10:59 +0800)]
crypto: mips/octeon-sha1 - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm64/sha1 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:15 +0000 (10:59 +0800)]
crypto: arm64/sha1 - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: x86/sha1 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:13 +0000 (10:59 +0800)]
crypto: x86/sha1 - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: sparc/md5 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:11 +0000 (10:59 +0800)]
crypto: sparc/md5 - Use API partial block handling

Use the Crypto API partial block handling.

Also switch to the generic export format.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: powerpc/md5 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:08 +0000 (10:59 +0800)]
crypto: powerpc/md5 - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: mips/octeon-md5 - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:06 +0000 (10:59 +0800)]
crypto: mips/octeon-md5 - Use API partial block handling

Use the Crypto API partial block handling.

Also switch to the generic export format.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: md5-generic - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:04 +0000 (10:59 +0800)]
crypto: md5-generic - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: x86/ghash - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:59:01 +0000 (10:59 +0800)]
crypto: x86/ghash - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: s390/ghash - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:58:59 +0000 (10:58 +0800)]
crypto: s390/ghash - Use API partial block handling

Use the Crypto API partial block handling.

Also switch to the generic export format.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: riscv/ghash - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:58:57 +0000 (10:58 +0800)]
crypto: riscv/ghash - Use API partial block handling

Use the Crypto API partial block handling.

As this was the last user relying on crypto/ghash.h for gf128mul.h,
remove the unnecessary inclusion of gf128mul.h from crypto/ghash.h.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm64/ghash - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:58:54 +0000 (10:58 +0800)]
crypto: arm64/ghash - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm/ghash - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:58:52 +0000 (10:58 +0800)]
crypto: arm/ghash - Use API partial block handling

Use the Crypto API partial block handling.

Also switch to the generic export format.

Finally remove a couple of stray may_use_simd() calls in gcm.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: powerpc/ghash - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:58:50 +0000 (10:58 +0800)]
crypto: powerpc/ghash - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: ghash-generic - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:58:47 +0000 (10:58 +0800)]
crypto: ghash-generic - Use API partial block handling

Use the Crypto API partial block handling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
7 weeks agocrypto: arm/blake2b - Use API partial block handling
Herbert Xu [Fri, 18 Apr 2025 02:58:45 +0000 (10:58 +0800)]
crypto: arm/blake2b - Use API partial block handling

Use the Crypto API partial block handling.

Also remove the unnecessary SIMD fallback path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>