Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1b40efd7 authored by Herbert Xu's avatar Herbert Xu
Browse files

[CRYPTO] Check cra_alignmask against cra_blocksize



The cipher code relies on the fact that the block size is a multiple
of the required alignment.  So we should check this at the time of
algorith registration.  We also ensure that the block size is bounded
by the page size.

Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 6df5b9f4
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -215,7 +215,10 @@ int crypto_register_alg(struct crypto_alg *alg)
	if (alg->cra_alignmask & (alg->cra_alignmask + 1))
		return -EINVAL;

	if (alg->cra_alignmask > PAGE_SIZE)
	if (alg->cra_alignmask & alg->cra_blocksize)
		return -EINVAL;

	if (alg->cra_blocksize > PAGE_SIZE)
		return -EINVAL;
	
	down_write(&crypto_alg_sem);