aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/backport-5.4/080-wireguard-0049-crypto-arm-chacha-fix-build-failured-when-kernel-mod.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/backport-5.4/080-wireguard-0049-crypto-arm-chacha-fix-build-failured-when-kernel-mod.patch')
-rw-r--r--target/linux/generic/backport-5.4/080-wireguard-0049-crypto-arm-chacha-fix-build-failured-when-kernel-mod.patch58
1 files changed, 0 insertions, 58 deletions
diff --git a/target/linux/generic/backport-5.4/080-wireguard-0049-crypto-arm-chacha-fix-build-failured-when-kernel-mod.patch b/target/linux/generic/backport-5.4/080-wireguard-0049-crypto-arm-chacha-fix-build-failured-when-kernel-mod.patch
deleted file mode 100644
index 354f584315..0000000000
--- a/target/linux/generic/backport-5.4/080-wireguard-0049-crypto-arm-chacha-fix-build-failured-when-kernel-mod.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Ard Biesheuvel <ardb@kernel.org>
-Date: Fri, 17 Jan 2020 17:43:18 +0100
-Subject: [PATCH] crypto: arm/chacha - fix build failured when kernel mode NEON
- is disabled
-
-commit 0bc81767c5bd9d005fae1099fb39eb3688370cb1 upstream.
-
-When the ARM accelerated ChaCha driver is built as part of a configuration
-that has kernel mode NEON disabled, we expect the compiler to propagate
-the build time constant expression IS_ENABLED(CONFIG_KERNEL_MODE_NEON) in
-a way that eliminates all the cross-object references to the actual NEON
-routines, which allows the chacha-neon-core.o object to be omitted from
-the build entirely.
-
-Unfortunately, this fails to work as expected in some cases, and we may
-end up with a build error such as
-
- chacha-glue.c:(.text+0xc0): undefined reference to `chacha_4block_xor_neon'
-
-caused by the fact that chacha_doneon() has not been eliminated from the
-object code, even though it will never be called in practice.
-
-Let's fix this by adding some IS_ENABLED(CONFIG_KERNEL_MODE_NEON) tests
-that are not strictly needed from a logical point of view, but should
-help the compiler infer that the NEON code paths are unreachable in
-those cases.
-
-Fixes: b36d8c09e710c71f ("crypto: arm/chacha - remove dependency on generic ...")
-Reported-by: Russell King <linux@armlinux.org.uk>
-Cc: Arnd Bergmann <arnd@arndb.de>
-Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
-Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
----
- arch/arm/crypto/chacha-glue.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/arch/arm/crypto/chacha-glue.c
-+++ b/arch/arm/crypto/chacha-glue.c
-@@ -115,7 +115,7 @@ static int chacha_stream_xor(struct skci
- if (nbytes < walk.total)
- nbytes = round_down(nbytes, walk.stride);
-
-- if (!neon) {
-+ if (!IS_ENABLED(CONFIG_KERNEL_MODE_NEON) || !neon) {
- chacha_doarm(walk.dst.virt.addr, walk.src.virt.addr,
- nbytes, state, ctx->nrounds);
- state[12] += DIV_ROUND_UP(nbytes, CHACHA_BLOCK_SIZE);
-@@ -159,7 +159,7 @@ static int do_xchacha(struct skcipher_re
-
- chacha_init_generic(state, ctx->key, req->iv);
-
-- if (!neon) {
-+ if (!IS_ENABLED(CONFIG_KERNEL_MODE_NEON) || !neon) {
- hchacha_block_arm(state, subctx.key, ctx->nrounds);
- } else {
- kernel_neon_begin();