aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2006-08-13 00:16:39 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2006-09-20 21:41:02 -0400
commit560c06ae1ab7c677002ea3b6ac83521bf12ee07d (patch)
tree374ed69a7e23ba9d07458d20672aac6ae552ae51 /include/linux
parent25cdbcd9e5d20e431f829cafce48a418830011f4 (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.h6
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
137struct compress_alg { 137struct 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