diff options
-rw-r--r-- | crypto/Kconfig | 11 | ||||
-rw-r--r-- | crypto/algboss.c | 8 | ||||
-rw-r--r-- | crypto/testmgr.c | 4 |
3 files changed, 11 insertions, 12 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig index 1cd497d7a15a..6f5c50fdbbdd 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig | |||
@@ -101,13 +101,12 @@ config CRYPTO_MANAGER2 | |||
101 | select CRYPTO_BLKCIPHER2 | 101 | select CRYPTO_BLKCIPHER2 |
102 | select CRYPTO_PCOMP2 | 102 | select CRYPTO_PCOMP2 |
103 | 103 | ||
104 | config CRYPTO_MANAGER_TESTS | 104 | config CRYPTO_MANAGER_DISABLE_TESTS |
105 | bool "Run algolithms' self-tests" | 105 | bool "Disable run-time self tests" |
106 | default y | 106 | depends on CRYPTO_MANAGER2 && EMBEDDED |
107 | depends on CRYPTO_MANAGER2 | ||
108 | help | 107 | help |
109 | Run cryptomanager's tests for the new crypto algorithms being | 108 | Disable run-time self tests that normally take place at |
110 | registered. | 109 | algorithm registration. |
111 | 110 | ||
112 | config CRYPTO_GF128MUL | 111 | config CRYPTO_GF128MUL |
113 | tristate "GF(2^128) multiplication functions (EXPERIMENTAL)" | 112 | tristate "GF(2^128) multiplication functions (EXPERIMENTAL)" |
diff --git a/crypto/algboss.c b/crypto/algboss.c index 40bd391f34d9..791d194958fa 100644 --- a/crypto/algboss.c +++ b/crypto/algboss.c | |||
@@ -206,13 +206,16 @@ err: | |||
206 | return NOTIFY_OK; | 206 | return NOTIFY_OK; |
207 | } | 207 | } |
208 | 208 | ||
209 | #ifdef CONFIG_CRYPTO_MANAGER_TESTS | ||
210 | static int cryptomgr_test(void *data) | 209 | static int cryptomgr_test(void *data) |
211 | { | 210 | { |
212 | struct crypto_test_param *param = data; | 211 | struct crypto_test_param *param = data; |
213 | u32 type = param->type; | 212 | u32 type = param->type; |
214 | int err = 0; | 213 | int err = 0; |
215 | 214 | ||
215 | #ifdef CONFIG_CRYPTO_MANAGER_DISABLE_TESTS | ||
216 | goto skiptest; | ||
217 | #endif | ||
218 | |||
216 | if (type & CRYPTO_ALG_TESTED) | 219 | if (type & CRYPTO_ALG_TESTED) |
217 | goto skiptest; | 220 | goto skiptest; |
218 | 221 | ||
@@ -267,7 +270,6 @@ err_put_module: | |||
267 | err: | 270 | err: |
268 | return NOTIFY_OK; | 271 | return NOTIFY_OK; |
269 | } | 272 | } |
270 | #endif /* CONFIG_CRYPTO_MANAGER_TESTS */ | ||
271 | 273 | ||
272 | static int cryptomgr_notify(struct notifier_block *this, unsigned long msg, | 274 | static int cryptomgr_notify(struct notifier_block *this, unsigned long msg, |
273 | void *data) | 275 | void *data) |
@@ -275,10 +277,8 @@ static int cryptomgr_notify(struct notifier_block *this, unsigned long msg, | |||
275 | switch (msg) { | 277 | switch (msg) { |
276 | case CRYPTO_MSG_ALG_REQUEST: | 278 | case CRYPTO_MSG_ALG_REQUEST: |
277 | return cryptomgr_schedule_probe(data); | 279 | return cryptomgr_schedule_probe(data); |
278 | #ifdef CONFIG_CRYPTO_MANAGER_TESTS | ||
279 | case CRYPTO_MSG_ALG_REGISTER: | 280 | case CRYPTO_MSG_ALG_REGISTER: |
280 | return cryptomgr_schedule_test(data); | 281 | return cryptomgr_schedule_test(data); |
281 | #endif | ||
282 | } | 282 | } |
283 | 283 | ||
284 | return NOTIFY_DONE; | 284 | return NOTIFY_DONE; |
diff --git a/crypto/testmgr.c b/crypto/testmgr.c index abd980c729eb..fa8c8f78c8d4 100644 --- a/crypto/testmgr.c +++ b/crypto/testmgr.c | |||
@@ -23,7 +23,7 @@ | |||
23 | 23 | ||
24 | #include "internal.h" | 24 | #include "internal.h" |
25 | 25 | ||
26 | #ifndef CONFIG_CRYPTO_MANAGER_TESTS | 26 | #ifdef CONFIG_CRYPTO_MANAGER_DISABLE_TESTS |
27 | 27 | ||
28 | /* a perfect nop */ | 28 | /* a perfect nop */ |
29 | int alg_test(const char *driver, const char *alg, u32 type, u32 mask) | 29 | int alg_test(const char *driver, const char *alg, u32 type, u32 mask) |
@@ -2542,6 +2542,6 @@ non_fips_alg: | |||
2542 | return -EINVAL; | 2542 | return -EINVAL; |
2543 | } | 2543 | } |
2544 | 2544 | ||
2545 | #endif /* CONFIG_CRYPTO_MANAGER_TESTS */ | 2545 | #endif /* CONFIG_CRYPTO_MANAGER_DISABLE_TESTS */ |
2546 | 2546 | ||
2547 | EXPORT_SYMBOL_GPL(alg_test); | 2547 | EXPORT_SYMBOL_GPL(alg_test); |