[PATCH v2] arm64: debug: always unmask interrupts in el0_softstp()

Catalin Marinas catalin.marinas at arm.com
Fri Oct 17 10:28:37 PDT 2025


On Tue, 14 Oct 2025 10:25:36 +0100, Ada Couprie Diaz wrote:
> EL0 exception handlers should always call `exit_to_user_mode()` with
> interrupts unmasked.
> When handling a completed single-step, we skip the if block and
> `local_daif_restore(DAIF_PROCCTX)` never gets called,
> which ends up calling `exit_to_user_mode()` with interrupts masked.
> 
> This is broken if pNMI is in use, as `do_notify_resume()` will try
> to enable interrupts, but `local_irq_enable()` will only change the PMR,
> leaving interrupts masked via DAIF.
> 
> [...]

Applied to arm64 (for-next/fixes), thanks! I used Mark's commit log.

[1/1] arm64: debug: always unmask interrupts in el0_softstp()
      https://git.kernel.org/arm64/c/ea0d55ae4b32

-- 
Catalin




More information about the linux-arm-kernel mailing list