Re: [RFC PATCH 04/47] mm: asi: ASI support in interrupts/exceptions

From: Junaid Shahid
Date: Mon Mar 14 2022 - 22:01:48 EST


On 3/14/22 08:50, Thomas Gleixner wrote:
On Tue, Feb 22 2022 at 21:21, Junaid Shahid wrote:
#define DEFINE_IDTENTRY_RAW(func) \
-__visible noinstr void func(struct pt_regs *regs)
+static __always_inline void __##func(struct pt_regs *regs); \
+ \
+__visible noinstr void func(struct pt_regs *regs) \
+{ \
+ asi_intr_enter(); \

This is wrong. You cannot invoke arbitrary code within a noinstr
section.

Please enable CONFIG_VMLINUX_VALIDATION and watch the build result with
and without your patches.

Thanks,

tglx

Thank you for the pointer. It seems that marking asi_intr_enter/exit and asi_enter/exit, and the few functions that they in turn call, as noinstr would fix this, correct? (Along with removing the VM_BUG_ONs from those functions and using notrace/nodebug variants of a couple of functions).

Thanks,
Junaid