On Wed, Dec 04 2024 at 00:27, Masahiro Yamada wrote:
On Tue, Dec 3, 2024 at 6:03 AM Thomas Gleixner tglx@linutronix.de wrote:
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.
The callsite of local_apic_timer_interrupt() is annotated 'noinline' if I correctly understand this line: https://github.com/torvalds/linux/blob/v6.13-rc1/arch/x86/include/asm/idtent...
You're right. I got lost in the macro maze and looked at the actual sysvec_...() part.
So yes, the fix is only required for pre 5.8 kernels.
This never occurs on x86 after commit f0178fc01fe46, but theoretically this may occur for other architectures.
Correct.
Thanks,
tglx