From: Joe Lawrence <joe.lawrence@redhat.com>
To: linux-modules@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Luis Chamberlain <mcgrof@kernel.org>,
Petr Pavlu <petr.pavlu@suse.com>,
Daniel Gomez <da.gomez@kernel.org>,
Sami Tolvanen <samitolvanen@google.com>,
Aaron Tomlin <atomlin@atomlin.com>,
Petr Mladek <pmladek@suse.com>,
Josh Poimboeuf <jpoimboe@kernel.org>
Subject: [PATCH v2] module.lds,codetag: force 0 sh_addr for sections
Date: Wed, 4 Mar 2026 20:52:37 -0500 [thread overview]
Message-ID: <20260305015237.299727-1-joe.lawrence@redhat.com> (raw)
Commit 1ba9f8979426 ("vmlinux.lds: Unify TEXT_MAIN, DATA_MAIN, and
related macros") added .text and made .data, .bss, and .rodata sections
unconditional in the module linker script, but without an explicit
address like the other sections in the same file.
When linking modules with ld.bfd -r, sections defined without an address
inherit the location counter, resulting in non-zero sh_addr values in
the .ko. Relocatable objects are expected to have sh_addr=0 for these
sections and these non-zero addresses confuse elfutils and have been
reported to cause segmentation faults in SystemTap [1].
Add the 0 address specifier to all sections in module.lds, including the
.codetag.* sections via MOD_SEPARATE_CODETAG_SECTIONS macro.
Link: https://sourceware.org/bugzilla/show_bug.cgi?id=33958
Fixes: 1ba9f8979426 ("vmlinux.lds: Unify TEXT_MAIN, DATA_MAIN, and related macros")
Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com>
---
include/asm-generic/codetag.lds.h | 2 +-
scripts/module.lds.S | 12 ++++++------
2 files changed, 7 insertions(+), 7 deletions(-)
v2:
- Update the MOD_SEPARATE_CODETAG_SECTION for .codetag.* as well [Petr]
v1: https://lore.kernel.org/lkml/20260304160611.143862-1-joe.lawrence@redhat.com
diff --git a/include/asm-generic/codetag.lds.h b/include/asm-generic/codetag.lds.h
index a14f4bdafdda..4948e5d4e9d9 100644
--- a/include/asm-generic/codetag.lds.h
+++ b/include/asm-generic/codetag.lds.h
@@ -18,7 +18,7 @@
IF_MEM_ALLOC_PROFILING(SECTION_WITH_BOUNDARIES(alloc_tags))
#define MOD_SEPARATE_CODETAG_SECTION(_name) \
- .codetag.##_name : { \
+ .codetag.##_name 0 : { \
SECTION_WITH_BOUNDARIES(_name) \
}
diff --git a/scripts/module.lds.S b/scripts/module.lds.S
index 054ef99e8288..e1cab3cee3f7 100644
--- a/scripts/module.lds.S
+++ b/scripts/module.lds.S
@@ -32,30 +32,30 @@ SECTIONS {
__jump_table 0 : ALIGN(8) { KEEP(*(__jump_table)) }
__ex_table 0 : ALIGN(4) { KEEP(*(__ex_table)) }
- __patchable_function_entries : { *(__patchable_function_entries) }
+ __patchable_function_entries 0 : { *(__patchable_function_entries) }
.init.klp_funcs 0 : ALIGN(8) { KEEP(*(.init.klp_funcs)) }
.init.klp_objects 0 : ALIGN(8) { KEEP(*(.init.klp_objects)) }
#ifdef CONFIG_ARCH_USES_CFI_TRAPS
- __kcfi_traps : { KEEP(*(.kcfi_traps)) }
+ __kcfi_traps 0 : { KEEP(*(.kcfi_traps)) }
#endif
- .text : {
+ .text 0 : {
*(.text .text.[0-9a-zA-Z_]*)
}
- .bss : {
+ .bss 0 : {
*(.bss .bss.[0-9a-zA-Z_]*)
*(.bss..L*)
}
- .data : {
+ .data 0 : {
*(.data .data.[0-9a-zA-Z_]*)
*(.data..L*)
}
- .rodata : {
+ .rodata 0 : {
*(.rodata .rodata.[0-9a-zA-Z_]*)
*(.rodata..L*)
}
--
2.53.0
next reply other threads:[~2026-03-05 1:52 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-05 1:52 Joe Lawrence [this message]
2026-03-05 19:55 ` [PATCH v2] module.lds,codetag: force 0 sh_addr for sections Josh Poimboeuf
2026-03-06 8:15 ` Petr Pavlu
2026-03-11 21:12 ` Sami Tolvanen
2026-03-12 21:02 ` Joe Lawrence
2026-03-16 14:23 ` Petr Pavlu
2026-03-17 22:55 ` Josh Poimboeuf
2026-03-17 23:10 ` Sami Tolvanen
2026-03-20 17:45 ` Sami Tolvanen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260305015237.299727-1-joe.lawrence@redhat.com \
--to=joe.lawrence@redhat.com \
--cc=atomlin@atomlin.com \
--cc=da.gomez@kernel.org \
--cc=jpoimboe@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-modules@vger.kernel.org \
--cc=mcgrof@kernel.org \
--cc=petr.pavlu@suse.com \
--cc=pmladek@suse.com \
--cc=samitolvanen@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox