aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/api.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-03-21 12:33:19 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-21 12:33:19 -0500
commitec1248e70edc5cf7b485efcc7b41e44e10f422e5 (patch)
tree80ca10a1ad9dc572e131a56a93fcf0c63c14d168 /crypto/api.c
parent3d1f337b3e7378923c89f37afb573a918ef40be5 (diff)
parent55e9dce37ddf3ab358ba1d1e9eef4ee4bd8174a6 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6: [CRYPTO] aes: Fixed array boundary violation [CRYPTO] tcrypt: Fix key alignment [CRYPTO] all: Add missing cra_alignmask [CRYPTO] all: Use kzalloc where possible [CRYPTO] api: Align tfm context as wide as possible [CRYPTO] twofish: Use rol32/ror32 where appropriate
Diffstat (limited to 'crypto/api.c')
-rw-r--r--crypto/api.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/crypto/api.c b/crypto/api.c
index e26156f71839..80bba637fba7 100644
--- a/crypto/api.c
+++ b/crypto/api.c
@@ -165,7 +165,7 @@ static unsigned int crypto_ctxsize(struct crypto_alg *alg, int flags)
165 break; 165 break;
166 } 166 }
167 167
168 return len + alg->cra_alignmask; 168 return len + (alg->cra_alignmask & ~(crypto_tfm_ctx_alignment() - 1));
169} 169}
170 170
171struct crypto_tfm *crypto_alloc_tfm(const char *name, u32 flags) 171struct crypto_tfm *crypto_alloc_tfm(const char *name, u32 flags)
@@ -179,12 +179,10 @@ struct crypto_tfm *crypto_alloc_tfm(const char *name, u32 flags)
179 goto out; 179 goto out;
180 180
181 tfm_size = sizeof(*tfm) + crypto_ctxsize(alg, flags); 181 tfm_size = sizeof(*tfm) + crypto_ctxsize(alg, flags);
182 tfm = kmalloc(tfm_size, GFP_KERNEL); 182 tfm = kzalloc(tfm_size, GFP_KERNEL);
183 if (tfm == NULL) 183 if (tfm == NULL)
184 goto out_put; 184 goto out_put;
185 185
186 memset(tfm, 0, tfm_size);
187
188 tfm->__crt_alg = alg; 186 tfm->__crt_alg = alg;
189 187
190 if (crypto_init_flags(tfm, flags)) 188 if (crypto_init_flags(tfm, flags))