]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop some 5.4 "build fix" patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Jan 2023 07:29:50 +0000 (08:29 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Jan 2023 07:29:50 +0000 (08:29 +0100)
queue-5.4/arch-fix-broken-buildid-for-arm64-and-riscv.patch [deleted file]
queue-5.4/powerpc-vmlinux.lds-define-runtime_discard_exit.patch [deleted file]
queue-5.4/powerpc-vmlinux.lds-don-t-discard-.rela-for-relocata.patch [deleted file]
queue-5.4/s390-define-runtime_discard_exit-to-fix-link-error-w.patch [deleted file]
queue-5.4/series
queue-5.4/sh-define-runtime_discard_exit.patch [deleted file]
queue-5.4/x86-vmlinux.lds-add-runtime_discard_exit-to-generic-.patch [deleted file]

diff --git a/queue-5.4/arch-fix-broken-buildid-for-arm64-and-riscv.patch b/queue-5.4/arch-fix-broken-buildid-for-arm64-and-riscv.patch
deleted file mode 100644 (file)
index 8650881..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-From b30c541a149ea2e6e40101c5615738951202cfec Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 24 Jan 2023 14:14:19 -0700
-Subject: arch: fix broken BuildID for arm64 and riscv
-
-From: Masahiro Yamada <masahiroy@kernel.org>
-
-commit 99cb0d917ffa1ab628bb67364ca9b162c07699b1 upstream.
-
-Dennis Gilmore reports that the BuildID is missing in the arm64 vmlinux
-since commit 994b7ac1697b ("arm64: remove special treatment for the
-link order of head.o").
-
-The issue is that the type of .notes section, which contains the BuildID,
-changed from NOTES to PROGBITS.
-
-Ard Biesheuvel figured out that whichever object gets linked first gets
-to decide the type of a section. The PROGBITS type is the result of the
-compiler emitting .note.GNU-stack as PROGBITS rather than NOTE.
-
-While Ard provided a fix for arm64, I want to fix this globally because
-the same issue is happening on riscv since commit 2348e6bf4421 ("riscv:
-remove special treatment for the link order of head.o"). This problem
-will happen in general for other architectures if they start to drop
-unneeded entries from scripts/head-object-list.txt.
-
-Discard .note.GNU-stack in include/asm-generic/vmlinux.lds.h.
-
-Link: https://lore.kernel.org/lkml/CAABkxwuQoz1CTbyb57n0ZX65eSYiTonFCU8-LCQc=74D=xE=rA@mail.gmail.com/
-Fixes: 994b7ac1697b ("arm64: remove special treatment for the link order of head.o")
-Fixes: 2348e6bf4421 ("riscv: remove special treatment for the link order of head.o")
-Reported-by: Dennis Gilmore <dennis@ausil.us>
-Suggested-by: Ard Biesheuvel <ardb@kernel.org>
-Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
-Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
-Signed-off-by: Tom Saeger <tom.saeger@oracle.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- include/asm-generic/vmlinux.lds.h | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
-index 2d45d98773e2..a68535f36d13 100644
---- a/include/asm-generic/vmlinux.lds.h
-+++ b/include/asm-generic/vmlinux.lds.h
-@@ -825,7 +825,12 @@
- #define TRACEDATA
- #endif
-+/*
-+ * Discard .note.GNU-stack, which is emitted as PROGBITS by the compiler.
-+ * Otherwise, the type of .notes section would become PROGBITS instead of NOTES.
-+ */
- #define NOTES                                                         \
-+      /DISCARD/ : { *(.note.GNU-stack) }                              \
-       .notes : AT(ADDR(.notes) - LOAD_OFFSET) {                       \
-               __start_notes = .;                                      \
-               KEEP(*(.note.*))                                        \
--- 
-2.39.0
-
diff --git a/queue-5.4/powerpc-vmlinux.lds-define-runtime_discard_exit.patch b/queue-5.4/powerpc-vmlinux.lds-define-runtime_discard_exit.patch
deleted file mode 100644 (file)
index 751f5b6..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-From 9943f3ecf056c7f39297f35e702e91a54c5fe9b4 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 24 Jan 2023 14:14:20 -0700
-Subject: powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT
-
-From: Michael Ellerman <mpe@ellerman.id.au>
-
-commit 4b9880dbf3bdba3a7c56445137c3d0e30aaa0a40 upstream.
-
-The powerpc linker script explicitly includes .exit.text, because
-otherwise the link fails due to references from __bug_table and
-__ex_table. The code is freed (discarded) at runtime along with
-.init.text and data.
-
-That has worked in the past despite powerpc not defining
-RUNTIME_DISCARD_EXIT because DISCARDS appears late in the powerpc linker
-script (line 410), and the explicit inclusion of .exit.text
-earlier (line 280) supersedes the discard.
-
-However commit 99cb0d917ffa ("arch: fix broken BuildID for arm64 and
-riscv") introduced an earlier use of DISCARD as part of the RO_DATA
-macro (line 136). With binutils < 2.36 that causes the DISCARD
-directives later in the script to be applied earlier [1], causing
-.exit.text to actually be discarded at link time, leading to build
-errors:
-
-  '.exit.text' referenced in section '__bug_table' of crypto/algboss.o: defined in
-  discarded section '.exit.text' of crypto/algboss.o
-  '.exit.text' referenced in section '__ex_table' of drivers/nvdimm/core.o: defined in
-  discarded section '.exit.text' of drivers/nvdimm/core.o
-
-Fix it by defining RUNTIME_DISCARD_EXIT, which causes the generic
-DISCARDS macro to not include .exit.text at all.
-
-1: https://lore.kernel.org/lkml/87fscp2v7k.fsf@igel.home/
-
-Fixes: 99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv")
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Link: https://lore.kernel.org/r/20230105132349.384666-1-mpe@ellerman.id.au
-Signed-off-by: Tom Saeger <tom.saeger@oracle.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/powerpc/kernel/vmlinux.lds.S | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
-index 3ea360cad337..4d5e1662a0ba 100644
---- a/arch/powerpc/kernel/vmlinux.lds.S
-+++ b/arch/powerpc/kernel/vmlinux.lds.S
-@@ -6,6 +6,7 @@
- #endif
- #define BSS_FIRST_SECTIONS *(.bss.prominit)
-+#define RUNTIME_DISCARD_EXIT
- #include <asm/page.h>
- #include <asm-generic/vmlinux.lds.h>
--- 
-2.39.0
-
diff --git a/queue-5.4/powerpc-vmlinux.lds-don-t-discard-.rela-for-relocata.patch b/queue-5.4/powerpc-vmlinux.lds-don-t-discard-.rela-for-relocata.patch
deleted file mode 100644 (file)
index 6015123..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-From 5b4a7c35df5825ef9383bd378172a24a199cb61b Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 24 Jan 2023 14:14:21 -0700
-Subject: powerpc/vmlinux.lds: Don't discard .rela* for relocatable builds
-
-From: Michael Ellerman <mpe@ellerman.id.au>
-
-commit 07b050f9290ee012a407a0f64151db902a1520f5 upstream.
-
-Relocatable kernels must not discard relocations, they need to be
-processed at runtime. As such they are included for CONFIG_RELOCATABLE
-builds in the powerpc linker script (line 340).
-
-However they are also unconditionally discarded later in the
-script (line 414). Previously that worked because the earlier inclusion
-superseded the discard.
-
-However commit 99cb0d917ffa ("arch: fix broken BuildID for arm64 and
-riscv") introduced an earlier use of DISCARD as part of the RO_DATA
-macro (line 137). With binutils < 2.36 that causes the DISCARD
-directives later in the script to be applied earlier, causing .rela* to
-actually be discarded at link time, leading to build warnings and a
-kernel that doesn't boot:
-
-  ld: warning: discarding dynamic section .rela.init.rodata
-
-Fix it by conditionally discarding .rela* only when CONFIG_RELOCATABLE
-is disabled.
-
-Fixes: 99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv")
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-
-Link: https://lore.kernel.org/r/20230105132349.384666-2-mpe@ellerman.id.au
-Signed-off-by: Tom Saeger <tom.saeger@oracle.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/powerpc/kernel/vmlinux.lds.S | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
-index 4d5e1662a0ba..46dfb3701c6e 100644
---- a/arch/powerpc/kernel/vmlinux.lds.S
-+++ b/arch/powerpc/kernel/vmlinux.lds.S
-@@ -395,9 +395,12 @@ SECTIONS
-       DISCARDS
-       /DISCARD/ : {
-               *(*.EMB.apuinfo)
--              *(.glink .iplt .plt .rela* .comment)
-+              *(.glink .iplt .plt .comment)
-               *(.gnu.version*)
-               *(.gnu.attributes)
-               *(.eh_frame)
-+#ifndef CONFIG_RELOCATABLE
-+              *(.rela*)
-+#endif
-       }
- }
--- 
-2.39.0
-
diff --git a/queue-5.4/s390-define-runtime_discard_exit-to-fix-link-error-w.patch b/queue-5.4/s390-define-runtime_discard_exit-to-fix-link-error-w.patch
deleted file mode 100644 (file)
index e0cfa34..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-From 9ba5c19fec2f2639d8538a7889e3e5bc00003389 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 24 Jan 2023 14:14:22 -0700
-Subject: s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld <
- 2.36
-
-From: Masahiro Yamada <masahiroy@kernel.org>
-
-commit a494398bde273143c2352dd373cad8211f7d94b2 upstream.
-
-Nathan Chancellor reports that the s390 vmlinux fails to link with
-GNU ld < 2.36 since commit 99cb0d917ffa ("arch: fix broken BuildID
-for arm64 and riscv").
-
-It happens for defconfig, or more specifically for CONFIG_EXPOLINE=y.
-
-  $ s390x-linux-gnu-ld --version | head -n1
-  GNU ld (GNU Binutils for Debian) 2.35.2
-  $ make -s ARCH=s390 CROSS_COMPILE=s390x-linux-gnu- allnoconfig
-  $ ./scripts/config -e CONFIG_EXPOLINE
-  $ make -s ARCH=s390 CROSS_COMPILE=s390x-linux-gnu- olddefconfig
-  $ make -s ARCH=s390 CROSS_COMPILE=s390x-linux-gnu-
-  `.exit.text' referenced in section `.s390_return_reg' of drivers/base/dd.o: defined in discarded section `.exit.text' of drivers/base/dd.o
-  make[1]: *** [scripts/Makefile.vmlinux:34: vmlinux] Error 1
-  make: *** [Makefile:1252: vmlinux] Error 2
-
-arch/s390/kernel/vmlinux.lds.S wants to keep EXIT_TEXT:
-
-        .exit.text : {
-                EXIT_TEXT
-        }
-
-But, at the same time, EXIT_TEXT is thrown away by DISCARD because
-s390 does not define RUNTIME_DISCARD_EXIT.
-
-I still do not understand why the latter wins after 99cb0d917ffa,
-but defining RUNTIME_DISCARD_EXIT seems correct because the comment
-line in arch/s390/kernel/vmlinux.lds.S says:
-
-        /*
-         * .exit.text is discarded at runtime, not link time,
-         * to deal with references from __bug_table
-         */
-
-Nathan also found that binutils commit 21401fc7bf67 ("Duplicate output
-sections in scripts") cured this issue, so we cannot reproduce it with
-binutils 2.36+, but it is better to not rely on it.
-
-Fixes: 99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv")
-Link: https://lore.kernel.org/all/Y7Jal56f6UBh1abE@dev-arch.thelio-3990X/
-Reported-by: Nathan Chancellor <nathan@kernel.org>
-Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
-Link: https://lore.kernel.org/r/20230105031306.1455409-1-masahiroy@kernel.org
-Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
-Signed-off-by: Tom Saeger <tom.saeger@oracle.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/s390/kernel/vmlinux.lds.S | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S
-index 4df41695caec..a471bd480397 100644
---- a/arch/s390/kernel/vmlinux.lds.S
-+++ b/arch/s390/kernel/vmlinux.lds.S
-@@ -15,6 +15,8 @@
- /* Handle ro_after_init data on our own. */
- #define RO_AFTER_INIT_DATA
-+#define RUNTIME_DISCARD_EXIT
-+
- #include <asm-generic/vmlinux.lds.h>
- #include <asm/vmlinux.lds.h>
--- 
-2.39.0
-
index 84decce63c59fc199aea3a40a8659e3cdca20eb5..16b2ba9da10a532b840292a469fbc45bb5e94577 100644 (file)
@@ -71,11 +71,5 @@ mmc-sdhci-esdhc-imx-correct-the-tuning-start-tap-and.patch
 revert-selftests-bpf-check-null-propagation-only-nei.patch
 netfilter-conntrack-do-not-renew-entry-stuck-in-tcp-.patch
 fs-reiserfs-remove-useless-new_opts-in-reiserfs_remount.patch
-x86-vmlinux.lds-add-runtime_discard_exit-to-generic-.patch
-arch-fix-broken-buildid-for-arm64-and-riscv.patch
-powerpc-vmlinux.lds-define-runtime_discard_exit.patch
-powerpc-vmlinux.lds-don-t-discard-.rela-for-relocata.patch
-s390-define-runtime_discard_exit-to-fix-link-error-w.patch
-sh-define-runtime_discard_exit.patch
 revert-revert-xhci-set-hcd-flag-to-defer-primary-roo.patch
 bluetooth-hci_sync-cancel-cmd_timer-if-hci_open-fail.patch
diff --git a/queue-5.4/sh-define-runtime_discard_exit.patch b/queue-5.4/sh-define-runtime_discard_exit.patch
deleted file mode 100644 (file)
index 546e06c..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-From f4cdd0fccd2723a36ff28dbb7f76867a5d751d25 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 24 Jan 2023 14:14:23 -0700
-Subject: sh: define RUNTIME_DISCARD_EXIT
-
-From: Tom Saeger <tom.saeger@oracle.com>
-
-sh vmlinux fails to link with GNU ld < 2.40 (likely < 2.36) since
-commit 99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv").
-
-This is similar to fixes for powerpc and s390:
-commit 4b9880dbf3bd ("powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT").
-commit a494398bde27 ("s390: define RUNTIME_DISCARD_EXIT to fix link error
-with GNU ld < 2.36").
-
-  $ sh4-linux-gnu-ld --version | head -n1
-  GNU ld (GNU Binutils for Debian) 2.35.2
-
-  $ make ARCH=sh CROSS_COMPILE=sh4-linux-gnu- microdev_defconfig
-  $ make ARCH=sh CROSS_COMPILE=sh4-linux-gnu-
-
-  `.exit.text' referenced in section `__bug_table' of crypto/algboss.o:
-  defined in discarded section `.exit.text' of crypto/algboss.o
-  `.exit.text' referenced in section `__bug_table' of
-  drivers/char/hw_random/core.o: defined in discarded section
-  `.exit.text' of drivers/char/hw_random/core.o
-  make[2]: *** [scripts/Makefile.vmlinux:34: vmlinux] Error 1
-  make[1]: *** [Makefile:1252: vmlinux] Error 2
-
-arch/sh/kernel/vmlinux.lds.S keeps EXIT_TEXT:
-
-       /*
-        * .exit.text is discarded at runtime, not link time, to deal with
-        * references from __bug_table
-        */
-       .exit.text : AT(ADDR(.exit.text)) { EXIT_TEXT }
-
-However, EXIT_TEXT is thrown away by
-DISCARD(include/asm-generic/vmlinux.lds.h) because
-sh does not define RUNTIME_DISCARD_EXIT.
-
-GNU ld 2.40 does not have this issue and builds fine.
-This corresponds with Masahiro's comments in a494398bde27:
-"Nathan [Chancellor] also found that binutils
-commit 21401fc7bf67 ("Duplicate output sections in scripts") cured this
-issue, so we cannot reproduce it with binutils 2.36+, but it is better
-to not rely on it."
-
-Fixes: 99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv")
-Link: https://lore.kernel.org/all/Y7Jal56f6UBh1abE@dev-arch.thelio-3990X/
-Link: https://lore.kernel.org/all/20230123194218.47ssfzhrpnv3xfez@oracle.com/
-Signed-off-by: Tom Saeger <tom.saeger@oracle.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/sh/kernel/vmlinux.lds.S | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S
-index 77a59d8c6b4d..ec3bae172b20 100644
---- a/arch/sh/kernel/vmlinux.lds.S
-+++ b/arch/sh/kernel/vmlinux.lds.S
-@@ -10,6 +10,7 @@ OUTPUT_ARCH(sh:sh5)
- #define LOAD_OFFSET   0
- OUTPUT_ARCH(sh)
- #endif
-+#define RUNTIME_DISCARD_EXIT
- #include <asm/thread_info.h>
- #include <asm/cache.h>
--- 
-2.39.0
-
diff --git a/queue-5.4/x86-vmlinux.lds-add-runtime_discard_exit-to-generic-.patch b/queue-5.4/x86-vmlinux.lds-add-runtime_discard_exit-to-generic-.patch
deleted file mode 100644 (file)
index 2f96b72..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-From c278befb01681aafe2e59159bec29516fa681dea Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 24 Jan 2023 14:14:18 -0700
-Subject: x86, vmlinux.lds: Add RUNTIME_DISCARD_EXIT to generic DISCARDS
-
-From: H.J. Lu <hjl.tools@gmail.com>
-
-commit 84d5f77fc2ee4e010c2c037750e32f06e55224b0 upstream.
-
-In the x86 kernel, .exit.text and .exit.data sections are discarded at
-runtime, not by the linker. Add RUNTIME_DISCARD_EXIT to generic DISCARDS
-and define it in the x86 kernel linker script to keep them.
-
-The sections are added before the DISCARD directive so document here
-only the situation explicitly as this change doesn't have any effect on
-the generated kernel. Also, other architectures like ARM64 will use it
-too so generalize the approach with the RUNTIME_DISCARD_EXIT define.
-
- [ bp: Massage and extend commit message. ]
-
-Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
-Signed-off-by: Borislav Petkov <bp@suse.de>
-Reviewed-by: Kees Cook <keescook@chromium.org>
-Link: https://lkml.kernel.org/r/20200326193021.255002-1-hjl.tools@gmail.com
-Signed-off-by: Tom Saeger <tom.saeger@oracle.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/x86/kernel/vmlinux.lds.S     |  1 +
- include/asm-generic/vmlinux.lds.h | 11 +++++++++--
- 2 files changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
-index 1afe211d7a7c..0ae3cd9a25ea 100644
---- a/arch/x86/kernel/vmlinux.lds.S
-+++ b/arch/x86/kernel/vmlinux.lds.S
-@@ -21,6 +21,7 @@
- #define LOAD_OFFSET __START_KERNEL_map
- #endif
-+#define RUNTIME_DISCARD_EXIT
- #include <asm-generic/vmlinux.lds.h>
- #include <asm/asm-offsets.h>
- #include <asm/thread_info.h>
-diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
-index c3bcac22c389..2d45d98773e2 100644
---- a/include/asm-generic/vmlinux.lds.h
-+++ b/include/asm-generic/vmlinux.lds.h
-@@ -900,10 +900,17 @@
-  * section definitions so that such archs put those in earlier section
-  * definitions.
-  */
-+#ifdef RUNTIME_DISCARD_EXIT
-+#define EXIT_DISCARDS
-+#else
-+#define EXIT_DISCARDS                                                 \
-+      EXIT_TEXT                                                       \
-+      EXIT_DATA
-+#endif
-+
- #define DISCARDS                                                      \
-       /DISCARD/ : {                                                   \
--      EXIT_TEXT                                                       \
--      EXIT_DATA                                                       \
-+      EXIT_DISCARDS                                                   \
-       EXIT_CALL                                                       \
-       *(.discard)                                                     \
-       *(.discard.*)                                                   \
--- 
-2.39.0
-