aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto/padlock-aes.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/crypto/padlock-aes.c')
-rw-r--r--drivers/crypto/padlock-aes.c5
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
310static int aes_set_key(struct crypto_tfm *tfm, const u8 *in_key, 310static 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 }