The CCM driver forces 32-bit alignment even if the underlying ciphers
don't care about alignment. This is because crypto_xor() used to require
this, but since this is no longer the case, drop the hardcoded minimum
of 32 bits.

Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org>
---
 crypto/ccm.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/crypto/ccm.c b/crypto/ccm.c
index 24c26ab052ca..442848807a52 100644
--- a/crypto/ccm.c
+++ b/crypto/ccm.c
@@ -525,8 +525,7 @@ static int crypto_ccm_create_common(struct crypto_template 
*tmpl,
                                       ctr->base.cra_priority) / 2;
        inst->alg.base.cra_blocksize = 1;
        inst->alg.base.cra_alignmask = mac->base.cra_alignmask |
-                                      ctr->base.cra_alignmask |
-                                      (__alignof__(u32) - 1);
+                                      ctr->base.cra_alignmask;
        inst->alg.ivsize = 16;
        inst->alg.chunksize = crypto_skcipher_alg_chunksize(ctr);
        inst->alg.maxauthsize = 16;
-- 
2.7.4

Reply via email to