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

Junaid Shahid
2022-03-15T02:01:48Z

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