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/linux | |
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/linux')
-rw-r--r-- | include/linux/crypto.h | 6 |
1 files changed, 2 insertions, 4 deletions
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 | ||