Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a873a5f1 authored by Steffen Klassert's avatar Steffen Klassert Committed by Herbert Xu
Browse files

crypto: tcrypt - Test algorithms by name



This adds the 'alg' module parameter to be able to test an
algorithm by name. If the algorithm type is not ad-hoc
clear for a algorithm (e.g. pcrypt, cryptd) it is possilbe
to set the algorithm type with the 'type' module parameter.

Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 03b56ce5
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -45,6 +45,8 @@
 */
static unsigned int sec;

static char *alg = NULL;
static u32 type;
static int mode;
static char *tvmem[TVMEMSIZE];

@@ -885,6 +887,11 @@ static int do_test(int m)
	return ret;
}

static int do_alg_test(const char *alg, u32 type)
{
	return crypto_has_alg(alg, type, CRYPTO_ALG_TYPE_MASK);
}

static int __init tcrypt_mod_init(void)
{
	int err = -ENOMEM;
@@ -896,7 +903,11 @@ static int __init tcrypt_mod_init(void)
			goto err_free_tv;
	}

	if (alg)
		err = do_alg_test(alg, type);
	else
		err = do_test(mode);

	if (err) {
		printk(KERN_ERR "tcrypt: one or more tests failed!\n");
		goto err_free_tv;
@@ -928,6 +939,8 @@ static void __exit tcrypt_mod_fini(void) { }
module_init(tcrypt_mod_init);
module_exit(tcrypt_mod_fini);

module_param(alg, charp, 0);
module_param(type, uint, 0);
module_param(mode, int, 0);
module_param(sec, uint, 0);
MODULE_PARM_DESC(sec, "Length in seconds of speed tests "