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>
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): ",