diff options
author | Kim Phillips <kim.phillips@freescale.com> | 2011-07-14 23:21:40 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2011-07-14 23:21:40 -0400 |
commit | 1c2b4abb19285368808f303ad61e17b172f1a108 (patch) | |
tree | 7f725e1ae700cef5a98e78aee9e8e806f55cae87 /drivers/crypto | |
parent | febec54286623a540cbe483a5d471ff6576a6e2e (diff) |
crypto: talitos - don't bad_key in ablkcipher setkey
crypto/ablkcipher.c's setkey() has already checked against the min, max
key sizes before it calls here, and all max_keysize assignments in the
algorithm template array do not exceed TALITOS_MAX_KEY_SIZE.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto')
-rw-r--r-- | drivers/crypto/talitos.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c index 521244e08fb1..8a0bb417aa11 100644 --- a/drivers/crypto/talitos.c +++ b/drivers/crypto/talitos.c | |||
@@ -1378,22 +1378,11 @@ static int ablkcipher_setkey(struct crypto_ablkcipher *cipher, | |||
1378 | const u8 *key, unsigned int keylen) | 1378 | const u8 *key, unsigned int keylen) |
1379 | { | 1379 | { |
1380 | struct talitos_ctx *ctx = crypto_ablkcipher_ctx(cipher); | 1380 | struct talitos_ctx *ctx = crypto_ablkcipher_ctx(cipher); |
1381 | struct ablkcipher_alg *alg = crypto_ablkcipher_alg(cipher); | ||
1382 | |||
1383 | if (keylen > TALITOS_MAX_KEY_SIZE) | ||
1384 | goto badkey; | ||
1385 | |||
1386 | if (keylen < alg->min_keysize || keylen > alg->max_keysize) | ||
1387 | goto badkey; | ||
1388 | 1381 | ||
1389 | memcpy(&ctx->key, key, keylen); | 1382 | memcpy(&ctx->key, key, keylen); |
1390 | ctx->keylen = keylen; | 1383 | ctx->keylen = keylen; |
1391 | 1384 | ||
1392 | return 0; | 1385 | return 0; |
1393 | |||
1394 | badkey: | ||
1395 | crypto_ablkcipher_set_flags(cipher, CRYPTO_TFM_RES_BAD_KEY_LEN); | ||
1396 | return -EINVAL; | ||
1397 | } | 1386 | } |
1398 | 1387 | ||
1399 | static void common_nonsnoop_unmap(struct device *dev, | 1388 | static void common_nonsnoop_unmap(struct device *dev, |