+++ /dev/null
-From e4a13ccef32375884dd266b8ba59d697f359bb84 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 23 Jan 2024 15:59:55 -0700
-Subject: modpost: Add '.ltext' and '.ltext.*' to TEXT_SECTIONS
-
-From: Nathan Chancellor <nathan@kernel.org>
-
-[ Upstream commit 397586506c3da005b9333ce5947ad01e8018a3be ]
-
-After the linked LLVM change, building ARCH=um defconfig results in a
-segmentation fault in modpost. Prior to commit a23e7584ecf3 ("modpost:
-unify 'sym' and 'to' in default_mismatch_handler()"), there was a
-warning:
-
- WARNING: modpost: vmlinux.o(__ex_table+0x88): Section mismatch in reference to the .ltext:(unknown)
- WARNING: modpost: The relocation at __ex_table+0x88 references
- section ".ltext" which is not in the list of
- authorized sections. If you're adding a new section
- and/or if this reference is valid, add ".ltext" to the
- list of authorized sections to jump to on fault.
- This can be achieved by adding ".ltext" to
- OTHER_TEXT_SECTIONS in scripts/mod/modpost.c.
-
-The linked LLVM change moves global objects to the '.ltext' (and
-'.ltext.*' with '-ffunction-sections') sections with '-mcmodel=large',
-which ARCH=um uses. These sections should be handled just as '.text'
-and '.text.*' are, so add them to TEXT_SECTIONS.
-
-Cc: stable@vger.kernel.org
-Closes: https://github.com/ClangBuiltLinux/linux/issues/1981
-Link: https://github.com/llvm/llvm-project/commit/4bf8a688956a759b7b6b8d94f42d25c13c7af130
-Signed-off-by: Nathan Chancellor <nathan@kernel.org>
-Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- scripts/mod/modpost.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
-index 43bacdee5cc5d..201ac1bf5030d 100644
---- a/scripts/mod/modpost.c
-+++ b/scripts/mod/modpost.c
-@@ -937,7 +937,8 @@ static void check_section(const char *modname, struct elf_info *elf,
-
- #define DATA_SECTIONS ".data", ".data.rel"
- #define TEXT_SECTIONS ".text", ".text.*", ".sched.text", \
-- ".kprobes.text", ".cpuidle.text", ".noinstr.text"
-+ ".kprobes.text", ".cpuidle.text", ".noinstr.text", \
-+ ".ltext", ".ltext.*"
- #define OTHER_TEXT_SECTIONS ".ref.text", ".head.text", ".spinlock.text", \
- ".fixup", ".entry.text", ".exception.text", \
- ".coldtext", ".softirqentry.text"
---
-2.43.0
-