[RFC PATCH 12/36] arm64: entry: replace DAIF helpers with entry helpers

Jinjie Ruan ruanjinjie at huawei.com
Wed Jul 22 02:39:00 PDT 2026



On 7/15/2026 8:31 PM, Vladimir Murzin wrote:
> On 7/10/26 10:36, Jinjie Ruan wrote:
>>>  static void noinstr el1_undef(struct pt_regs *regs, unsigned long esr)
>>>  {
>>> +	arm64_exc_hwstate_t hwstate;
>>>  	irqentry_state_t state;
>>>  
>>>  	state = arm64_enter_from_kernel_mode(regs);
>>> -	local_daif_inherit(regs);
>>> +	hwstate = arm64_inherit_exc_context(regs);
>> local_daif_inherit do not trace_hardirqs_off() but only
>> trace_hardirqs_off(),but now arm64_inherit_exc_context() do it, is this
>> a functional change?
> 
> When CONFIG_TRACE_IRQFLAGS is not set, there is no change in
> behaviour. Otherwise, IIUC, we may continue to tell the kernel that

I was just curious whether trace_hardirqs_on() or trace_hardirqs_off()
is idempotent.

> hard IRQs are disabled, but that should be harmless.
> 
> Could you please expand on your concern?

The following code seems to avoid repeated calls to trace_hardirqs_off().

So, I understand there should be no problem here.


22 >-------if (prev.flags == next.flags)
 23 >------->-------return next;


> 
> Thanks
> Vladimir
> 




More information about the linux-arm-kernel mailing list