diff options
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 | } |