]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
modpost: Add .irqentry.text to OTHER_SECTIONS
authorThomas Gleixner <tglx@linutronix.de>
Sun, 1 Dec 2024 11:17:30 +0000 (12:17 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2024 18:51:43 +0000 (19:51 +0100)
[ Upstream commit 7912405643a14b527cd4a4f33c1d4392da900888 ]

The compiler can fully inline the actual handler function of an interrupt
entry into the .irqentry.text entry point. If such a function contains an
access which has an exception table entry, modpost complains about a
section mismatch:

  WARNING: vmlinux.o(__ex_table+0x447c): Section mismatch in reference ...

  The relocation at __ex_table+0x447c references section ".irqentry.text"
  which is not in the list of authorized sections.

Add .irqentry.text to OTHER_SECTIONS to cure the issue.

Reported-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org # needed for linux-5.4-y
Link: https://lore.kernel.org/all/20241128111844.GE10431@google.com/
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
scripts/mod/modpost.c

index 43bacdee5cc5d17d969792285420a55d03077b2e..a663a0ea4066b615e2071594d16d481159aea34e 100644 (file)
@@ -940,7 +940,7 @@ static void check_section(const char *modname, struct elf_info *elf,
                ".kprobes.text", ".cpuidle.text", ".noinstr.text"
 #define OTHER_TEXT_SECTIONS ".ref.text", ".head.text", ".spinlock.text", \
                ".fixup", ".entry.text", ".exception.text", \
-               ".coldtext", ".softirqentry.text"
+               ".coldtext", ".softirqentry.text", ".irqentry.text"
 
 #define INIT_SECTIONS      ".init.*"
 #define MEM_INIT_SECTIONS  ".meminit.*"