summaryrefslogtreecommitdiff
path: root/crypto
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2024-05-21 10:54:50 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2024-05-31 17:34:56 +0800
commitf9110822fca5b92daefc2bfae4cfcda7dcfb03c9 (patch)
tree3589cc412455d573538a22288277250b92ab84a6 /crypto
parentb42519dbba838c928e82b55f32712fbe3eed2c45 (diff)
crypto: api - Disable boot-test-finished if algapi is a module
The boot-test-finished toggle is only necessary if algapi is built into the kernel. Do not include this code if it is a module. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/algapi.c3
-rw-r--r--crypto/api.c4
-rw-r--r--crypto/internal.h7
3 files changed, 10 insertions, 4 deletions
diff --git a/crypto/algapi.c b/crypto/algapi.c
index 85bc279b4233..122cd910c4e1 100644
--- a/crypto/algapi.c
+++ b/crypto/algapi.c
@@ -1056,6 +1056,9 @@ EXPORT_SYMBOL_GPL(crypto_type_has_alg);
static void __init crypto_start_tests(void)
{
+ if (!IS_BUILTIN(CONFIG_CRYPTO_ALGAPI))
+ return;
+
if (IS_ENABLED(CONFIG_CRYPTO_MANAGER_DISABLE_TESTS))
return;
diff --git a/crypto/api.c b/crypto/api.c
index 6aa5a3b4ed5e..22556907b3bc 100644
--- a/crypto/api.c
+++ b/crypto/api.c
@@ -31,9 +31,9 @@ EXPORT_SYMBOL_GPL(crypto_alg_sem);
BLOCKING_NOTIFIER_HEAD(crypto_chain);
EXPORT_SYMBOL_GPL(crypto_chain);
-#ifndef CONFIG_CRYPTO_MANAGER_DISABLE_TESTS
+#if IS_BUILTIN(CONFIG_CRYPTO_ALGAPI) && \
+ !IS_ENABLED(CONFIG_CRYPTO_MANAGER_DISABLE_TESTS)
DEFINE_STATIC_KEY_FALSE(__crypto_boot_test_finished);
-EXPORT_SYMBOL_GPL(__crypto_boot_test_finished);
#endif
static struct crypto_alg *crypto_larval_wait(struct crypto_alg *alg);
diff --git a/crypto/internal.h b/crypto/internal.h
index 63e59240d5fb..aee31319be2e 100644
--- a/crypto/internal.h
+++ b/crypto/internal.h
@@ -66,7 +66,8 @@ extern struct blocking_notifier_head crypto_chain;
int alg_test(const char *driver, const char *alg, u32 type, u32 mask);
-#ifdef CONFIG_CRYPTO_MANAGER_DISABLE_TESTS
+#if !IS_BUILTIN(CONFIG_CRYPTO_ALGAPI) || \
+ IS_ENABLED(CONFIG_CRYPTO_MANAGER_DISABLE_TESTS)
static inline bool crypto_boot_test_finished(void)
{
return true;
@@ -84,7 +85,9 @@ static inline void set_crypto_boot_test_finished(void)
{
static_branch_enable(&__crypto_boot_test_finished);
}
-#endif /* !CONFIG_CRYPTO_MANAGER_DISABLE_TESTS */
+#endif /* !IS_BUILTIN(CONFIG_CRYPTO_ALGAPI) ||
+ * IS_ENABLED(CONFIG_CRYPTO_MANAGER_DISABLE_TESTS)
+ */
#ifdef CONFIG_PROC_FS
void __init crypto_init_proc(void);