[RFC PATCH 13/36] arm64: process: Use helper to check exception state

Jinjie Ruan ruanjinjie at huawei.com
Fri Jul 10 03:00:04 PDT 2026



On 7/9/2026 8:13 PM, Vladimir Murzin wrote:
> debug_switch_state() explicitly checks the hardware exception state
> for both the pseudo-NMI and non-NMI paths. The expected state matches
> the NOIRQ_CONTEXT exception context introduced alongside the exception
> masking helpers and state checkers.
> 
> Use the helper instead of open-coding these checks.
> 
> Signed-off-by: Vladimir Murzin <vladimir.murzin at arm.com>
> ---
>  arch/arm64/kernel/process.c | 21 ++-------------------
>  1 file changed, 2 insertions(+), 19 deletions(-)
> 
> diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
> index 033643cd4e5e..ddda8d7aee24 100644
> --- a/arch/arm64/kernel/process.c
> +++ b/arch/arm64/kernel/process.c
> @@ -51,6 +51,7 @@
>  #include <asm/exec.h>
>  #include <asm/fpsimd.h>
>  #include <asm/gcs.h>
> +#include <asm/interrupts/common_flags.h>
>  #include <asm/mmu_context.h>
>  #include <asm/mpam.h>
>  #include <asm/mte.h>
> @@ -738,25 +739,7 @@ void update_sctlr_el1(u64 sctlr)
>  
>  static inline void debug_switch_state(void)
>  {
> -	if (system_uses_irq_prio_masking()) {
> -		unsigned long daif_expected = 0;
> -		unsigned long daif_actual = read_sysreg(daif);
> -		unsigned long pmr_expected = GIC_PRIO_IRQOFF;
> -		unsigned long pmr_actual = read_sysreg_s(SYS_ICC_PMR_EL1);
> -
> -		WARN_ONCE(daif_actual != daif_expected ||
> -			  pmr_actual != pmr_expected,
> -			  "Unexpected DAIF + PMR: 0x%lx + 0x%lx (expected 0x%lx + 0x%lx)\n",
> -			  daif_actual, pmr_actual,
> -			  daif_expected, pmr_expected);
> -	} else {
> -		unsigned long daif_expected = DAIF_PROCCTX_NOIRQ;
> -		unsigned long daif_actual = read_sysreg(daif);
> -
> -		WARN_ONCE(daif_actual != daif_expected,
> -			  "Unexpected DAIF value: 0x%lx (expected 0x%lx)\n",
> -			  daif_actual, daif_expected);
> -	}
> +	arm64_debug_exc_context(NOIRQ_CONTEXT);


With CONFIG_DEBUG_IRQFLAGS,we can avoid the overhead of this check.

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

>  }
>  
>  /*




More information about the linux-arm-kernel mailing list