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 /crypto/tea.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 'crypto/tea.c')
-rw-r--r-- | crypto/tea.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/crypto/tea.c b/crypto/tea.c index 5367adc82fc9..1c54e26fa529 100644 --- a/crypto/tea.c +++ b/crypto/tea.c | |||
@@ -46,16 +46,10 @@ struct xtea_ctx { | |||
46 | }; | 46 | }; |
47 | 47 | ||
48 | static int tea_setkey(struct crypto_tfm *tfm, const u8 *in_key, | 48 | static int tea_setkey(struct crypto_tfm *tfm, const u8 *in_key, |
49 | unsigned int key_len, u32 *flags) | 49 | unsigned int key_len) |
50 | { | 50 | { |
51 | struct tea_ctx *ctx = crypto_tfm_ctx(tfm); | 51 | struct tea_ctx *ctx = crypto_tfm_ctx(tfm); |
52 | const __le32 *key = (const __le32 *)in_key; | 52 | const __le32 *key = (const __le32 *)in_key; |
53 | |||
54 | if (key_len != 16) | ||
55 | { | ||
56 | *flags |= CRYPTO_TFM_RES_BAD_KEY_LEN; | ||
57 | return -EINVAL; | ||
58 | } | ||
59 | 53 | ||
60 | ctx->KEY[0] = le32_to_cpu(key[0]); | 54 | ctx->KEY[0] = le32_to_cpu(key[0]); |
61 | ctx->KEY[1] = le32_to_cpu(key[1]); | 55 | ctx->KEY[1] = le32_to_cpu(key[1]); |
@@ -125,16 +119,10 @@ static void tea_decrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src) | |||
125 | } | 119 | } |
126 | 120 | ||
127 | static int xtea_setkey(struct crypto_tfm *tfm, const u8 *in_key, | 121 | static int xtea_setkey(struct crypto_tfm *tfm, const u8 *in_key, |
128 | unsigned int key_len, u32 *flags) | 122 | unsigned int key_len) |
129 | { | 123 | { |
130 | struct xtea_ctx *ctx = crypto_tfm_ctx(tfm); | 124 | struct xtea_ctx *ctx = crypto_tfm_ctx(tfm); |
131 | const __le32 *key = (const __le32 *)in_key; | 125 | const __le32 *key = (const __le32 *)in_key; |
132 | |||
133 | if (key_len != 16) | ||
134 | { | ||
135 | *flags |= CRYPTO_TFM_RES_BAD_KEY_LEN; | ||
136 | return -EINVAL; | ||
137 | } | ||
138 | 126 | ||
139 | ctx->KEY[0] = le32_to_cpu(key[0]); | 127 | ctx->KEY[0] = le32_to_cpu(key[0]); |
140 | ctx->KEY[1] = le32_to_cpu(key[1]); | 128 | ctx->KEY[1] = le32_to_cpu(key[1]); |