[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220716062920.210381-4-ebiggers@kernel.org>
Date: Fri, 15 Jul 2022 23:29:20 -0700
From: Eric Biggers <ebiggers@...nel.org>
To: linux-crypto@...r.kernel.org
Cc: linux-kernel@...r.kernel.org,
"Jason A . Donenfeld " <Jason@...c4.com>
Subject: [PATCH v2 3/3] crypto: lib - move crypto_simd_disabled_for_test into utils
From: Eric Biggers <ebiggers@...gle.com>
Move the definition of crypto_simd_disabled_for_test into
lib/crypto/utils.c so that it can be accessed by library code.
This is needed when code that is shared between a traditional crypto API
implementation and a library implementation is built-in, but
CRYPTO_ALGAPI=m. The x86 blake2s previously was an example of this
(https://lore.kernel.org/linux-crypto/20220517033630.1182-1-gaochao49@huawei.com/T/#u).
Although that case was resolved by removing the blake2s shash support,
this problem could easily come back in the future, so let's address it.
Signed-off-by: Eric Biggers <ebiggers@...gle.com>
---
crypto/algapi.c | 6 ------
lib/crypto/utils.c | 6 ++++++
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/crypto/algapi.c b/crypto/algapi.c
index 5c69ff8e8fa5c1..9377dae75b3def 100644
--- a/crypto/algapi.c
+++ b/crypto/algapi.c
@@ -6,7 +6,6 @@
*/
#include <crypto/algapi.h>
-#include <crypto/internal/simd.h>
#include <linux/err.h>
#include <linux/errno.h>
#include <linux/fips.h>
@@ -22,11 +21,6 @@
static LIST_HEAD(crypto_template_list);
-#ifdef CONFIG_CRYPTO_MANAGER_EXTRA_TESTS
-DEFINE_PER_CPU(bool, crypto_simd_disabled_for_test);
-EXPORT_PER_CPU_SYMBOL_GPL(crypto_simd_disabled_for_test);
-#endif
-
static inline void crypto_check_module_sig(struct module *mod)
{
if (fips_enabled && mod && !module_sig_ok(mod))
diff --git a/lib/crypto/utils.c b/lib/crypto/utils.c
index f20bdb2ae88771..e7d99f150d4e61 100644
--- a/lib/crypto/utils.c
+++ b/lib/crypto/utils.c
@@ -6,8 +6,14 @@
*/
#include <crypto/algapi.h>
+#include <crypto/internal/simd.h>
#include <asm/unaligned.h>
+#ifdef CONFIG_CRYPTO_MANAGER_EXTRA_TESTS
+DEFINE_PER_CPU(bool, crypto_simd_disabled_for_test);
+EXPORT_PER_CPU_SYMBOL_GPL(crypto_simd_disabled_for_test);
+#endif
+
/*
* XOR @len bytes from @src1 and @src2 together, writing the result to @dst
* (which may alias one of the sources). Don't call this directly; call
--
2.37.0
Powered by blists - more mailing lists