lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ