[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87iks1vlu5.ffs@tglx>
Date: Mon, 02 Dec 2024 22:03:46 +0100
From: Thomas Gleixner <tglx@...utronix.de>
To: Masahiro Yamada <masahiroy@...nel.org>
Cc: Sergey Senozhatsky <senozhatsky@...omium.org>,
20241015061522.25288-1-rui.zhang@...el.com, Zhang Rui
<rui.zhang@...el.com>, hpa@...or.com, peterz@...radead.org,
thorsten.blum@...lux.com, yuntao.wang@...ux.dev, tony.luck@...el.com,
len.brown@...el.com, srinivas.pandruvada@...el.com,
linux-kernel@...r.kernel.org, stable@...r.kernel.org, mingo@...hat.com,
bp@...en8.de, dave.hansen@...ux.intel.com, rafael.j.wysocki@...el.com,
x86@...nel.org, linux-pm@...r.kernel.org, Nathan Chancellor
<nathan@...nel.org>, Nicolas Schier <nicolas@...sle.eu>,
linux-kbuild@...r.kernel.org
Subject: Re: [PATCH] modpost: Add .irqentry.text to OTHER_SECTIONS
On Mon, Dec 02 2024 at 11:02, Masahiro Yamada wrote:
> On Sun, Dec 1, 2024 at 8:17 PM Thomas Gleixner <tglx@...utronix.de> wrote:
>>
>> 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@...omium.org>
>
> I found the context in LKML.
> Closes: https://lore.kernel.org/all/20241128111844.GE10431@google.com/
>
> However, is this still relevant to the mainline kernel?
>
> In Linux 5.4.y, I agree this because smp_apic_timer_interrupt()
> is annotated as __irq_entry:
Correct.
> In this mainline kernel, DEFINE_IDTENTRY_SYSVEC()
> expands to a normal .text function which is explicitly
> annotated 'noinline'.
It's not annotated noinline, it's annotated 'noinstr', which puts the
code into the .noinstr.text section. That one is indeed covered.
So yes, the fix is only required for pre 5.8 kernels.
Thanks,
tglx
Powered by blists - more mailing lists