[PATCH 37/38] genirq: Do not call add_interrupt_randomness() in NMI context
Vladimir Murzin
vladimir.murzin at arm.com
Mon Sep 14 03:21:01 PDT 2026
handle_irq_event_percpu() calls add_interrupt_randomness(). Similarly
to 512718bbc51b ("genirq/chip: Don't call add_interrupt_randomness()
for NMIs"), calling it while handling an NMI is not safe.
Stop calling add_interrupt_randomness() when handle_irq_event_percpu()
runs in NMI context.
Signed-off-by: Vladimir Murzin <vladimir.murzin at arm.com>
---
kernel/irq/handle.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c
index b7d52821837b..114fd63b0210 100644
--- a/kernel/irq/handle.c
+++ b/kernel/irq/handle.c
@@ -245,7 +245,8 @@ irqreturn_t handle_irq_event_percpu(struct irq_desc *desc)
retval = __handle_irq_event_percpu(desc);
- add_interrupt_randomness(desc->irq_data.irq);
+ if (!in_nmi())
+ add_interrupt_randomness(desc->irq_data.irq);
if (!irq_settings_no_debug(desc))
note_interrupt(desc, retval);
--
2.34.1
More information about the linux-arm-kernel
mailing list