Skip to contentSkip to conversation

FAILED: patch "[PATCH] module.lds.S: Fix modules on 32-bit parisc architecture" failed to apply to 7.0-stable tree

PATCH [email protected] 2 participants 3 messages May 1

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 7.0-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

To reproduce the conflict and resubmit, you may use the following commands:

git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-7.0.y
git checkout FETCH_HEAD
git cherry-pick -x 1221365f55281349da4f4ba41c05b57cd15f5c28
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026050157-rewrite-overfeed-ad3b@gregkh' --subject-prefix 'PATCH 7.0.y' HEAD^..

Possible dependencies:

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 1221365f55281349da4f4ba41c05b57cd15f5c28 Mon Sep 17 00:00:00 2001
From: Helge Deller <[email protected]>
Date: Tue, 7 Apr 2026 22:07:22 +0200
Subject: [PATCH] module.lds.S: Fix modules on 32-bit parisc architecture

On the 32-bit parisc architecture, we always used the -ffunction-sections compiler option to tell the compiler to put the functions into seperate text sections. This is necessary, otherwise "big" kernel modules like ext4 or ipv6 fail to load because some branches won't be able to reach their stubs.

Commit 1ba9f8979426 ("vmlinux.lds: Unify TEXT_MAIN, DATA_MAIN, and related macros") broke this for parisc because all text sections will get unconditionally merged now.

Introduce the ARCH_WANTS_MODULES_TEXT_SECTIONS config option which avoids the text section merge for modules, and fix this issue by enabling this option by default for 32-bit parisc.

Fixes 1ba9f8979426 ("vmlinux.lds: Unify TEXT_MAIN, DATA_MAIN, and related macros")
Cc Josh Poimboeuf <[email protected]>
Cc [email protected] # v6.19+
arch/Kconfig +7 -0
index 334b69505381..4eb2e51e28f1 100644
@@ -1127,6 +1127,13 @@ config ARCH_WANTS_MODULES_DATA_IN_VMALLOC
 	  For architectures like powerpc/32 which have constraints on module
 	  allocation and need to allocate module data outside of module area.
 
+config ARCH_WANTS_MODULES_TEXT_SECTIONS
+	bool
+	help
+	  For architectures like 32-bit parisc which require that functions in
+	  modules have to keep code in own text sections (-ffunction-sections)
+	  and to avoid merging all text into one big text section,
+
 config ARCH_WANTS_EXECMEM_LATE
 	bool
 	help
arch/parisc/Kconfig +1 -0
index 3e929eb5a7fe..d3afac2f0d9b 100644
@@ -8,6 +8,7 @@ config PARISC
 	select HAVE_FUNCTION_GRAPH_TRACER
 	select HAVE_SYSCALL_TRACEPOINTS
 	select ARCH_WANT_FRAME_POINTERS
+	select ARCH_WANTS_MODULES_TEXT_SECTIONS if !64BIT
 	select ARCH_HAS_CPU_CACHE_ALIASING
 	select ARCH_HAS_DMA_ALLOC if PA11
 	select ARCH_HAS_DMA_OPS
scripts/module.lds.S +2 -0
index 2dc4c8c3e667..b62683061d79 100644
@@ -40,9 +40,11 @@ SECTIONS {
 	__kcfi_traps		0 : { KEEP(*(.kcfi_traps)) }
 #endif
 
+#ifndef CONFIG_ARCH_WANTS_MODULES_TEXT_SECTIONS
 	.text			0 : {
 		*(.text .text.[0-9a-zA-Z_]*)
 	}
+#endif
 
 	.bss			0 : {
 		*(.bss .bss.[0-9a-zA-Z_]*)
maintainer
#1 lore raw

Hi Greg,

Quoted 1 line · On 5/1/26 13:01, [email protected] wrote:

The patch below does not apply to the 7.0-stable tree.

Can you please cherry-pick this upstream commit first:

commit 4afc71bba8b7d7841681e7647ae02f5079aaf28f
Author: Joe Lawrence <[email protected]>
module.lds,codetag: force 0 sh_addr for sections

after that this commit applies cleanly:
commit 1221365f55281349da4f4ba41c05b57cd15f5c28
Author: Helge Deller <[email protected]>
module.lds.S: Fix modules on 32-bit parisc architecture

Both are relevant for 7.0-stable only. No further downwards porting needed.

Thanks!
Helge

author maintainer
#2 lore raw
Quoted 10 lines · Helge Deller

Hi Greg,

Quoted 1 line · On 5/1/26 13:01, [email protected] wrote:

The patch below does not apply to the 7.0-stable tree.

Can you please cherry-pick this upstream commit first:

commit 4afc71bba8b7d7841681e7647ae02f5079aaf28f
Author: Joe Lawrence <[email protected]>
module.lds,codetag: force 0 sh_addr for sections

Quoted 7 lines

after that this commit applies cleanly:
commit 1221365f55281349da4f4ba41c05b57cd15f5c28
Author: Helge Deller <[email protected]>
module.lds.S: Fix modules on 32-bit parisc architecture

Both are relevant for 7.0-stable only. No further downwards porting needed.

That worked, thanks!

greg k-h