From df7dc8f1b866f7ffe6a77b581c4567efe38e8751 Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Tue, 29 Nov 2005 22:04:41 +1100 Subject: [PATCH] --- yaml --- r: 17428 b: refs/heads/master c: 827c3911d8551842900f44c9a139382bcae68e6e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/crypto/cipher.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 7a65d5deca8f..e5a9552a8db8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fa9b98fdab5b57ecb4dd3d6c2489e262af458c44 +refs/heads/master: 827c3911d8551842900f44c9a139382bcae68e6e diff --git a/trunk/crypto/cipher.c b/trunk/crypto/cipher.c index dfd4bcfc5975..65bcea0cd17c 100644 --- a/trunk/crypto/cipher.c +++ b/trunk/crypto/cipher.c @@ -212,9 +212,10 @@ static unsigned int cbc_process_decrypt(const struct cipher_desc *desc, struct crypto_tfm *tfm = desc->tfm; void (*xor)(u8 *, const u8 *) = tfm->crt_u.cipher.cit_xor_block; int bsize = crypto_tfm_alg_blocksize(tfm); + unsigned long alignmask = crypto_tfm_alg_alignmask(desc->tfm); - u8 stack[src == dst ? bsize : 0]; - u8 *buf = stack; + u8 stack[src == dst ? bsize + alignmask : 0]; + u8 *buf = (u8 *)ALIGN((unsigned long)stack, alignmask + 1); u8 **dst_p = src == dst ? &buf : &dst; void (*fn)(void *, u8 *, const u8 *) = desc->crfn;