Skip to content

Commit 8996eaf

Browse files
Russell Kingherbertx
authored andcommitted
crypto: ahash - ensure statesize is non-zero
Unlike shash algorithms, ahash drivers must implement export and import as their descriptors may contain hardware state and cannot be exported as is. Unfortunately some ahash drivers did not provide them and end up causing crashes with algif_hash. This patch adds a check to prevent these drivers from registering ahash algorithms until they are fixed. Cc: stable@vger.kernel.org Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
1 parent 92b2790 commit 8996eaf

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

crypto/ahash.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -544,7 +544,8 @@ static int ahash_prepare_alg(struct ahash_alg *alg)
544544
struct crypto_alg *base = &alg->halg.base;
545545

546546
if (alg->halg.digestsize > PAGE_SIZE / 8 ||
547-
alg->halg.statesize > PAGE_SIZE / 8)
547+
alg->halg.statesize > PAGE_SIZE / 8 ||
548+
alg->halg.statesize == 0)
548549
return -EINVAL;
549550

550551
base->cra_type = &crypto_ahash_type;

0 commit comments

Comments
 (0)