diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2006-08-13 00:16:39 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2006-09-20 21:41:02 -0400 |
commit | 560c06ae1ab7c677002ea3b6ac83521bf12ee07d (patch) | |
tree | 374ed69a7e23ba9d07458d20672aac6ae552ae51 /drivers/crypto/padlock-aes.c | |
parent | 25cdbcd9e5d20e431f829cafce48a418830011f4 (diff) |
[CRYPTO] api: Get rid of flags argument to setkey
Now that the tfm is passed directly to setkey instead of the ctx, we no
longer need to pass the &tfm->crt_flags pointer.
This patch also gets rid of a few unnecessary checks on the key length
for ciphers as the cipher layer guarantees that the key length is within
the bounds specified by the algorithm.
Rather than testing dia_setkey every time, this patch does it only once
during crypto_alloc_tfm. The redundant check from crypto_digest_setkey
is also removed.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/padlock-aes.c')
-rw-r--r-- | drivers/crypto/padlock-aes.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/crypto/padlock-aes.c b/drivers/crypto/padlock-aes.c index 3a2a71108d35..3e683709243e 100644 --- a/drivers/crypto/padlock-aes.c +++ b/drivers/crypto/padlock-aes.c | |||
@@ -308,15 +308,16 @@ static inline struct aes_ctx *aes_ctx(struct crypto_tfm *tfm) | |||
308 | } | 308 | } |
309 | 309 | ||
310 | static int aes_set_key(struct crypto_tfm *tfm, const u8 *in_key, | 310 | static int aes_set_key(struct crypto_tfm *tfm, const u8 *in_key, |
311 | unsigned int key_len, u32 *flags) | 311 | unsigned int key_len) |
312 | { | 312 | { |
313 | struct aes_ctx *ctx = aes_ctx(tfm); | 313 | struct aes_ctx *ctx = aes_ctx(tfm); |
314 | const __le32 *key = (const __le32 *)in_key; | 314 | const __le32 *key = (const __le32 *)in_key; |
315 | u32 *flags = &tfm->crt_flags; | ||
315 | uint32_t i, t, u, v, w; | 316 | uint32_t i, t, u, v, w; |
316 | uint32_t P[AES_EXTENDED_KEY_SIZE]; | 317 | uint32_t P[AES_EXTENDED_KEY_SIZE]; |
317 | uint32_t rounds; | 318 | uint32_t rounds; |
318 | 319 | ||
319 | if (key_len != 16 && key_len != 24 && key_len != 32) { | 320 | if (key_len % 8) { |
320 | *flags |= CRYPTO_TFM_RES_BAD_KEY_LEN; | 321 | *flags |= CRYPTO_TFM_RES_BAD_KEY_LEN; |
321 | return -EINVAL; | 322 | return -EINVAL; |
322 | } | 323 | } |