summarylogtreecommitdiffstats
path: root/0103-crypto-memneq-move-into-lib.patch
diff options
context:
space:
mode:
authorBjörn Bidar2022-06-24 20:03:01 +0300
committerBjörn Bidar2022-06-25 16:46:45 +0300
commit657059c03d46120dea746abb196d9d622e21fe5f (patch)
tree2ae07d28cd858ef0cda12e3c8af27932d06c0fbb /0103-crypto-memneq-move-into-lib.patch
parent034adcf2fd3311bba3f58b8575b0be699ab3bd70 (diff)
downloadaur-657059c03d46120dea746abb196d9d622e21fe5f.tar.gz
Update to 5.18.6.p2-1
- New upstream release based on 5.18.5 - Add MGLRU Zen patch - Add linux-5.18.6 patches - Move System.map from -headers into the base package to avoid external modules having wrong bpf symbols when running optimized builds. Fixes #5 - Remove M/m from CPUSUFFIXES_KBUILD and LCPU, fixes build failing when selecting an optimized build architecture that is not genering. Fixes #6. Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>
Diffstat (limited to '0103-crypto-memneq-move-into-lib.patch')
-rw-r--r--0103-crypto-memneq-move-into-lib.patch105
1 files changed, 105 insertions, 0 deletions
diff --git a/0103-crypto-memneq-move-into-lib.patch b/0103-crypto-memneq-move-into-lib.patch
new file mode 100644
index 000000000000..0b340d40d149
--- /dev/null
+++ b/0103-crypto-memneq-move-into-lib.patch
@@ -0,0 +1,105 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Jason A. Donenfeld" <Jason@zx2c4.com>
+Date: Sat, 28 May 2022 12:24:29 +0200
+Subject: [PATCH] crypto: memneq - move into lib/
+
+commit abfed87e2a12bd246047d78c01d81eb9529f1d06 upstream.
+
+This is used by code that doesn't need CONFIG_CRYPTO, so move this into
+lib/ with a Kconfig option so that it can be selected by whatever needs
+it.
+
+This fixes a linker error Zheng pointed out when
+CRYPTO_MANAGER_DISABLE_TESTS!=y and CRYPTO=m:
+
+ lib/crypto/curve25519-selftest.o: In function `curve25519_selftest':
+ curve25519-selftest.c:(.init.text+0x60): undefined reference to `__crypto_memneq'
+ curve25519-selftest.c:(.init.text+0xec): undefined reference to `__crypto_memneq'
+ curve25519-selftest.c:(.init.text+0x114): undefined reference to `__crypto_memneq'
+ curve25519-selftest.c:(.init.text+0x154): undefined reference to `__crypto_memneq'
+
+Reported-by: Zheng Bin <zhengbin13@huawei.com>
+Cc: Eric Biggers <ebiggers@kernel.org>
+Cc: stable@vger.kernel.org
+Fixes: aa127963f1ca ("crypto: lib/curve25519 - re-add selftests")
+Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
+Reviewed-by: Eric Biggers <ebiggers@google.com>
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ crypto/Kconfig | 1 +
+ crypto/Makefile | 2 +-
+ lib/Kconfig | 3 +++
+ lib/Makefile | 1 +
+ lib/crypto/Kconfig | 1 +
+ {crypto => lib}/memneq.c | 0
+ 6 files changed, 7 insertions(+), 1 deletion(-)
+ rename {crypto => lib}/memneq.c (100%)
+
+diff --git a/crypto/Kconfig b/crypto/Kconfig
+index 41068811fd0e1d8facff621a9116b7d1e1b59ef7..b4e00a7a046b95158d8490f9c0fa2fd28416e0f3 100644
+--- a/crypto/Kconfig
++++ b/crypto/Kconfig
+@@ -15,6 +15,7 @@ source "crypto/async_tx/Kconfig"
+ #
+ menuconfig CRYPTO
+ tristate "Cryptographic API"
++ select LIB_MEMNEQ
+ help
+ This option provides the core Cryptographic API.
+
+diff --git a/crypto/Makefile b/crypto/Makefile
+index f754c4d17d6bdb5df40e2b9e697623a9d95d0745..a40e6d5fb2c83346439d843d72f11297a600143a 100644
+--- a/crypto/Makefile
++++ b/crypto/Makefile
+@@ -4,7 +4,7 @@
+ #
+
+ obj-$(CONFIG_CRYPTO) += crypto.o
+-crypto-y := api.o cipher.o compress.o memneq.o
++crypto-y := api.o cipher.o compress.o
+
+ obj-$(CONFIG_CRYPTO_ENGINE) += crypto_engine.o
+ obj-$(CONFIG_CRYPTO_FIPS) += fips.o
+diff --git a/lib/Kconfig b/lib/Kconfig
+index 087e06b4cdfdeb08dbe832a6b98a1f22e8d57483..55f0bba8f8c00928dc222164436f32d42ebb4275 100644
+--- a/lib/Kconfig
++++ b/lib/Kconfig
+@@ -120,6 +120,9 @@ config INDIRECT_IOMEM_FALLBACK
+
+ source "lib/crypto/Kconfig"
+
++config LIB_MEMNEQ
++ bool
++
+ config CRC_CCITT
+ tristate "CRC-CCITT functions"
+ help
+diff --git a/lib/Makefile b/lib/Makefile
+index 08053df16c7c878d0b3c8f011ff22c1960466cfd..60843ab661ba67b89f48da500bef2ba8b8736d81 100644
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -251,6 +251,7 @@ obj-$(CONFIG_DIMLIB) += dim/
+ obj-$(CONFIG_SIGNATURE) += digsig.o
+
+ lib-$(CONFIG_CLZ_TAB) += clz_tab.o
++lib-$(CONFIG_LIB_MEMNEQ) += memneq.o
+
+ obj-$(CONFIG_GENERIC_STRNCPY_FROM_USER) += strncpy_from_user.o
+ obj-$(CONFIG_GENERIC_STRNLEN_USER) += strnlen_user.o
+diff --git a/lib/crypto/Kconfig b/lib/crypto/Kconfig
+index 379a66d7f504cf2bc6e8a0c6478d5420a1703a7f..017cba12538659ee6c1dc01e41216ce6a49df883 100644
+--- a/lib/crypto/Kconfig
++++ b/lib/crypto/Kconfig
+@@ -71,6 +71,7 @@ config CRYPTO_LIB_CURVE25519
+ tristate "Curve25519 scalar multiplication library"
+ depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519
+ select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n
++ select LIB_MEMNEQ
+ help
+ Enable the Curve25519 library interface. This interface may be
+ fulfilled by either the generic implementation or an arch-specific
+diff --git a/crypto/memneq.c b/lib/memneq.c
+similarity index 100%
+rename from crypto/memneq.c
+rename to lib/memneq.c