crypto: api - Include alignment in crypto_alg_extsize
authorHerbert Xu <herbert@gondor.apana.org.au>
Thu, 28 May 2015 14:07:56 +0000 (22:07 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 3 Jun 2015 02:48:34 +0000 (10:48 +0800)
This patch ensures that the tfm context always has enough extra
memory to ensure that it is aligned according to cra_alignment.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/algapi.c

index abf100c054e0a3472eb6f3de0fdd3e98171fbcbf..3c079b7f23f6bada906f9d444a50cd15b0831d65 100644 (file)
@@ -980,7 +980,8 @@ EXPORT_SYMBOL_GPL(crypto_xor);
 
 unsigned int crypto_alg_extsize(struct crypto_alg *alg)
 {
-       return alg->cra_ctxsize;
+       return alg->cra_ctxsize +
+              (alg->cra_alignmask & ~(crypto_tfm_ctx_alignment() - 1));
 }
 EXPORT_SYMBOL_GPL(crypto_alg_extsize);