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 /include | |
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 'include')
-rw-r--r-- | include/crypto/twofish.h | 3 | ||||
-rw-r--r-- | include/linux/crypto.h | 6 |
2 files changed, 3 insertions, 6 deletions
diff --git a/include/crypto/twofish.h b/include/crypto/twofish.h index e4328cfaaf64..c408522595c6 100644 --- a/include/crypto/twofish.h +++ b/include/crypto/twofish.h | |||
@@ -17,7 +17,6 @@ struct twofish_ctx { | |||
17 | u32 s[4][256], w[8], k[32]; | 17 | u32 s[4][256], w[8], k[32]; |
18 | }; | 18 | }; |
19 | 19 | ||
20 | int twofish_setkey(struct crypto_tfm *tfm, const u8 *key, | 20 | int twofish_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int key_len); |
21 | unsigned int key_len, u32 *flags); | ||
22 | 21 | ||
23 | #endif | 22 | #endif |
diff --git a/include/linux/crypto.h b/include/linux/crypto.h index d6e184c876b5..053bfab43e8d 100644 --- a/include/linux/crypto.h +++ b/include/linux/crypto.h | |||
@@ -106,7 +106,7 @@ struct cipher_alg { | |||
106 | unsigned int cia_min_keysize; | 106 | unsigned int cia_min_keysize; |
107 | unsigned int cia_max_keysize; | 107 | unsigned int cia_max_keysize; |
108 | int (*cia_setkey)(struct crypto_tfm *tfm, const u8 *key, | 108 | int (*cia_setkey)(struct crypto_tfm *tfm, const u8 *key, |
109 | unsigned int keylen, u32 *flags); | 109 | unsigned int keylen); |
110 | void (*cia_encrypt)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); | 110 | void (*cia_encrypt)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); |
111 | void (*cia_decrypt)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); | 111 | void (*cia_decrypt)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); |
112 | 112 | ||
@@ -131,7 +131,7 @@ struct digest_alg { | |||
131 | unsigned int len); | 131 | unsigned int len); |
132 | void (*dia_final)(struct crypto_tfm *tfm, u8 *out); | 132 | void (*dia_final)(struct crypto_tfm *tfm, u8 *out); |
133 | int (*dia_setkey)(struct crypto_tfm *tfm, const u8 *key, | 133 | int (*dia_setkey)(struct crypto_tfm *tfm, const u8 *key, |
134 | unsigned int keylen, u32 *flags); | 134 | unsigned int keylen); |
135 | }; | 135 | }; |
136 | 136 | ||
137 | struct compress_alg { | 137 | struct compress_alg { |
@@ -397,8 +397,6 @@ static inline int crypto_digest_setkey(struct crypto_tfm *tfm, | |||
397 | const u8 *key, unsigned int keylen) | 397 | const u8 *key, unsigned int keylen) |
398 | { | 398 | { |
399 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_DIGEST); | 399 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_DIGEST); |
400 | if (tfm->crt_digest.dit_setkey == NULL) | ||
401 | return -ENOSYS; | ||
402 | return tfm->crt_digest.dit_setkey(tfm, key, keylen); | 400 | return tfm->crt_digest.dit_setkey(tfm, key, keylen); |
403 | } | 401 | } |
404 | 402 | ||