From 84e083a69a000bdf821d414ffcf9e2d82318d7ba Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Fri, 6 Aug 2010 09:40:28 +0800 Subject: [PATCH] --- yaml --- r: 210301 b: refs/heads/master c: 326a6346ffb5b19eb593530d9d3096d409e46f62 h: refs/heads/master i: 210299: 9805b22b4cf6fe3a9901c58ce2f8ff54397bab6e v: v3 --- [refs] | 2 +- trunk/crypto/Kconfig | 11 +++++------ trunk/crypto/algboss.c | 8 ++++---- trunk/crypto/testmgr.c | 4 ++-- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index 14f401e30222..062d752b74a8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 23a75eee070f1370bee803a34f285cf81eb5f331 +refs/heads/master: 326a6346ffb5b19eb593530d9d3096d409e46f62 diff --git a/trunk/crypto/Kconfig b/trunk/crypto/Kconfig index 1cd497d7a15a..6f5c50fdbbdd 100644 --- a/trunk/crypto/Kconfig +++ b/trunk/crypto/Kconfig @@ -101,13 +101,12 @@ config CRYPTO_MANAGER2 select CRYPTO_BLKCIPHER2 select CRYPTO_PCOMP2 -config CRYPTO_MANAGER_TESTS - bool "Run algolithms' self-tests" - default y - depends on CRYPTO_MANAGER2 +config CRYPTO_MANAGER_DISABLE_TESTS + bool "Disable run-time self tests" + depends on CRYPTO_MANAGER2 && EMBEDDED help - Run cryptomanager's tests for the new crypto algorithms being - registered. + Disable run-time self tests that normally take place at + algorithm registration. config CRYPTO_GF128MUL tristate "GF(2^128) multiplication functions (EXPERIMENTAL)" diff --git a/trunk/crypto/algboss.c b/trunk/crypto/algboss.c index 40bd391f34d9..791d194958fa 100644 --- a/trunk/crypto/algboss.c +++ b/trunk/crypto/algboss.c @@ -206,13 +206,16 @@ static int cryptomgr_schedule_probe(struct crypto_larval *larval) return NOTIFY_OK; } -#ifdef CONFIG_CRYPTO_MANAGER_TESTS static int cryptomgr_test(void *data) { struct crypto_test_param *param = data; u32 type = param->type; int err = 0; +#ifdef CONFIG_CRYPTO_MANAGER_DISABLE_TESTS + goto skiptest; +#endif + if (type & CRYPTO_ALG_TESTED) goto skiptest; @@ -267,7 +270,6 @@ static int cryptomgr_schedule_test(struct crypto_alg *alg) err: return NOTIFY_OK; } -#endif /* CONFIG_CRYPTO_MANAGER_TESTS */ static int cryptomgr_notify(struct notifier_block *this, unsigned long msg, void *data) @@ -275,10 +277,8 @@ static int cryptomgr_notify(struct notifier_block *this, unsigned long msg, switch (msg) { case CRYPTO_MSG_ALG_REQUEST: return cryptomgr_schedule_probe(data); -#ifdef CONFIG_CRYPTO_MANAGER_TESTS case CRYPTO_MSG_ALG_REGISTER: return cryptomgr_schedule_test(data); -#endif } return NOTIFY_DONE; diff --git a/trunk/crypto/testmgr.c b/trunk/crypto/testmgr.c index abd980c729eb..fa8c8f78c8d4 100644 --- a/trunk/crypto/testmgr.c +++ b/trunk/crypto/testmgr.c @@ -23,7 +23,7 @@ #include "internal.h" -#ifndef CONFIG_CRYPTO_MANAGER_TESTS +#ifdef CONFIG_CRYPTO_MANAGER_DISABLE_TESTS /* a perfect nop */ int alg_test(const char *driver, const char *alg, u32 type, u32 mask) @@ -2542,6 +2542,6 @@ int alg_test(const char *driver, const char *alg, u32 type, u32 mask) return -EINVAL; } -#endif /* CONFIG_CRYPTO_MANAGER_TESTS */ +#endif /* CONFIG_CRYPTO_MANAGER_DISABLE_TESTS */ EXPORT_SYMBOL_GPL(alg_test);