From: Sven Schnelle Date: Fri, 15 Oct 2021 19:56:12 +0000 (+0200) Subject: parisc: don't enable irqs unconditionally in handle_interruption() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=014966dcf76bce5717f7d974d0410d3402a651c2;p=linux.git parisc: don't enable irqs unconditionally in handle_interruption() If the previous context had interrupts disabled, we should better keep them disabled. This was noticed in the unwinding code where a copy_from_kernel_nofault() triggered a page fault, and after the fixup by the page fault handler interrupts where suddenly enabled. Signed-off-by: Sven Schnelle Signed-off-by: Helge Deller --- diff --git a/arch/parisc/kernel/traps.c b/arch/parisc/kernel/traps.c index 690e6abcaf221..b11fb26ce2998 100644 --- a/arch/parisc/kernel/traps.c +++ b/arch/parisc/kernel/traps.c @@ -481,7 +481,7 @@ void notrace handle_interruption(int code, struct pt_regs *regs) if (code == 1) pdc_console_restart(); /* switch back to pdc if HPMC */ - else + else if (!irqs_disabled_flags(regs->gr[0])) local_irq_enable(); /* Security check: