]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
crypto: tcrypt - stop ahash speed tests when setkey fails
authorSaeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>
Tue, 3 Mar 2026 00:06:40 +0000 (16:06 -0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 14 Mar 2026 05:03:19 +0000 (14:03 +0900)
The async hash speed path ignores the return code from
crypto_ahash_setkey().  If the caller picks an unsupported key length,
the transform keeps whatever key state it already has and the speed test
still runs, producing misleading numbers, hence bail out of the loop when
setkey fails.

Signed-off-by: Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/tcrypt.c

index 61c8cf55c4f1e3024c2e1c33b87b478a28219510..db860f45765fb20e6bab0a60661b0be0757996ca 100644 (file)
@@ -911,8 +911,14 @@ static void test_ahash_speed_common(const char *algo, unsigned int secs,
                        break;
                }
 
-               if (klen)
-                       crypto_ahash_setkey(tfm, tvmem[0], klen);
+               if (klen) {
+                       ret = crypto_ahash_setkey(tfm, tvmem[0], klen);
+                       if (ret) {
+                               pr_err("setkey() failed flags=%x: %d\n",
+                                      crypto_ahash_get_flags(tfm), ret);
+                               break;
+                       }
+               }
 
                pr_info("test%3u "
                        "(%5u byte blocks,%5u bytes per update,%4u updates): ",