[LTP] [v3 PATCH 3/3] crypto: simd - Do not call crypto_alloc_tfm during registration
Eric Biggers
ebiggers@kernel.org
Tue Aug 27 20:48:39 CEST 2024
On Sat, Aug 17, 2024 at 02:58:35PM +0800, Herbert Xu wrote:
> Algorithm registration is usually carried out during module init,
> where as little work as possible should be carried out. The SIMD
> code violated this rule by allocating a tfm, this then triggers a
> full test of the algorithm which may dead-lock in certain cases.
>
> SIMD is only allocating the tfm to get at the alg object, which is
> in fact already available as it is what we are registering. Use
> that directly and remove the crypto_alloc_tfm call.
>
> Also remove some obsolete and unused SIMD API.
>
> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
> ---
> arch/arm/crypto/aes-ce-glue.c | 2 +-
> arch/arm/crypto/aes-neonbs-glue.c | 2 +-
> crypto/simd.c | 76 ++++++-------------------------
> include/crypto/internal/simd.h | 12 +----
> 4 files changed, 19 insertions(+), 73 deletions(-)
>
I'm getting a test failure with this series applied:
[ 0.383128] alg: aead: failed to allocate transform for gcm_base(ctr(aes-generic),ghash-generic): -2
[ 0.383500] alg: self-tests for gcm(aes) using gcm_base(ctr(aes-generic),ghash-generic) failed (rc=-2)
This is on x86_64 with CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y.
- Eric
More information about the ltp
mailing list