[RFC PATCH v2 15/45] arm64: entry: replace DAIF helpers with entry helpers

Vladimir Murzin vladimir.murzin at arm.com
Mon Aug 3 05:23:08 PDT 2026


On 7/28/26 10:53, Jinjie Ruan wrote:
>> @@ -526,21 +545,32 @@ static __always_inline void __el1_irq(struct pt_regs *regs,
>>  
>>  	state = arm64_enter_from_kernel_mode(regs);
>>  
>> +	arm64_unmask_exc_context(NONMI_CONTEXT);
>> +
>>  	irq_enter_rcu();
>>  	do_interrupt_handler(regs, handler);
>>  	irq_exit_rcu();
>>  
>> -	arm64_exit_to_kernel_mode_preempt(regs, state);
>> +	/*
>> +	 * If pseudo-NMIs are enabled and the interrupted context had
>> +	 * IRQs unmasked, the interrupt handler will have cleared DAIF
>> +	 * and switched to PMR masking in order to handle
>> +	 * NMIs. Otherwise it would keep IF.  In both cases on return
>> +	 * we effectivly have NOIRQ_CONTEXT - keep track of it
>> +	 */
>> +	arm64_debug_exc_context(NOIRQ_CONTEXT);
>> +	arm64_exit_to_kernel_mode(regs, state, arm64_exc_hwstate_of_context(NOIRQ_CONTEXT));
>>  }
> Is this a typo?
> 
> arm64_exit_to_kernel_mode_preempt(regs,
> arm64_exc_hwstate_of_context(NOIRQ_CONTEXT));
> 

Oops! Seems lost that while splitting the patch. Nice catch!

> otherwise LGTM
> Reviewed-by: Jinjie Ruan <ruanjinjie at huawei.com>

Thanks
Vladimir





More information about the linux-arm-kernel mailing list