summaryrefslogtreecommitdiff
path: root/crypto/tcrypt.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2009-07-14 16:06:54 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2009-07-14 16:06:54 +0800
commit7be380f7201064f704a128b78ac01a62dbd10162 (patch)
tree6a70a91767a0c98806e45d6baca66bc2ca7899c5 /crypto/tcrypt.c
parent01c2dece4316dadc0f9fad1ad0b56d493980e492 (diff)
downloadlwn-7be380f7201064f704a128b78ac01a62dbd10162.tar.gz
lwn-7be380f7201064f704a128b78ac01a62dbd10162.zip
crypto: tcrypt - Add mask parameter
This patch adds a mask parameter to complement the existing type parameter. This is useful when instantiating algorithms that require a mask other than the default, e.g., ahash algorithms. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/tcrypt.c')
-rw-r--r--crypto/tcrypt.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c
index a890a6792c7b..5a375e819d5d 100644
--- a/crypto/tcrypt.c
+++ b/crypto/tcrypt.c
@@ -47,6 +47,7 @@ static unsigned int sec;
static char *alg = NULL;
static u32 type;
+static u32 mask;
static int mode;
static char *tvmem[TVMEMSIZE];
@@ -887,9 +888,10 @@ static int do_test(int m)
return ret;
}
-static int do_alg_test(const char *alg, u32 type)
+static int do_alg_test(const char *alg, u32 type, u32 mask)
{
- return crypto_has_alg(alg, type, CRYPTO_ALG_TYPE_MASK) ? 0 : -ENOENT;
+ return crypto_has_alg(alg, type, mask ?: CRYPTO_ALG_TYPE_MASK) ?
+ 0 : -ENOENT;
}
static int __init tcrypt_mod_init(void)
@@ -904,7 +906,7 @@ static int __init tcrypt_mod_init(void)
}
if (alg)
- err = do_alg_test(alg, type);
+ err = do_alg_test(alg, type, mask);
else
err = do_test(mode);
@@ -941,6 +943,7 @@ module_exit(tcrypt_mod_fini);
module_param(alg, charp, 0);
module_param(type, uint, 0);
+module_param(mask, uint, 0);
module_param(mode, int, 0);
module_param(sec, uint, 0);
MODULE_PARM_DESC(sec, "Length in seconds of speed tests "