]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
crypto: inside-secure/eip93 - register hash before authenc algorithms
authorAleksander Jan Bajkowski <olek2@wp.pl>
Fri, 6 Mar 2026 22:17:40 +0000 (23:17 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sun, 15 Mar 2026 04:23:13 +0000 (13:23 +0900)
Register hash before hmac and authenc algorithms. This will ensure
selftests pass at startup. Previously, selftests failed on the
crypto_alloc_ahash() function since the associated algorithm was
not yet registered.

Fixes following error:
...
[   18.375811] alg: self-tests for authenc(hmac(sha1),cbc(aes)) using authenc(hmac(sha1-eip93),cbc(aes-eip93)) failed (rc=-2)
[   18.382140] alg: self-tests for authenc(hmac(sha224),rfc3686(ctr(aes))) using authenc(hmac(sha224-eip93),rfc3686(ctr(aes-eip93))) failed (rc=-2)
[   18.395029] alg: aead: authenc(hmac(sha256-eip93),cbc(des-eip93)) setkey failed on test vector 0; expected_error=0, actual_error=-2, flags=0x1
[   18.409734] alg: aead: authenc(hmac(md5-eip93),cbc(des3_ede-eip93)) setkey failed on test vector 0; expected_error=0, actual_error=-2, flags=0x1
...

Fixes: 9739f5f93b78 ("crypto: eip93 - Add Inside Secure SafeXcel EIP-93 crypto engine support")
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/inside-secure/eip93/eip93-main.c

index b7fd9795062d4c8d96867e7a980cd5e8d977824b..76858bb4fcc22b42229f576609efa5bedb7d303e 100644 (file)
@@ -36,6 +36,14 @@ static struct eip93_alg_template *eip93_algs[] = {
        &eip93_alg_cbc_aes,
        &eip93_alg_ctr_aes,
        &eip93_alg_rfc3686_aes,
+       &eip93_alg_md5,
+       &eip93_alg_sha1,
+       &eip93_alg_sha224,
+       &eip93_alg_sha256,
+       &eip93_alg_hmac_md5,
+       &eip93_alg_hmac_sha1,
+       &eip93_alg_hmac_sha224,
+       &eip93_alg_hmac_sha256,
        &eip93_alg_authenc_hmac_md5_cbc_des,
        &eip93_alg_authenc_hmac_sha1_cbc_des,
        &eip93_alg_authenc_hmac_sha224_cbc_des,
@@ -52,14 +60,6 @@ static struct eip93_alg_template *eip93_algs[] = {
        &eip93_alg_authenc_hmac_sha1_rfc3686_aes,
        &eip93_alg_authenc_hmac_sha224_rfc3686_aes,
        &eip93_alg_authenc_hmac_sha256_rfc3686_aes,
-       &eip93_alg_md5,
-       &eip93_alg_sha1,
-       &eip93_alg_sha224,
-       &eip93_alg_sha256,
-       &eip93_alg_hmac_md5,
-       &eip93_alg_hmac_sha1,
-       &eip93_alg_hmac_sha224,
-       &eip93_alg_hmac_sha256,
 };
 
 inline void eip93_irq_disable(struct eip93_device *eip93, u32 mask)