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); |
