[PATCH 37/38] genirq: Do not call add_interrupt_randomness() in NMI context
Jinjie Ruan
ruanjinjie at huawei.com
Thu Sep 17 04:55:07 PDT 2026
在 2026/9/14 18:21, Vladimir Murzin 写道:
> 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);
Reviewed-by: Jinjie Ruan <ruanjinjie at huawei.com>
>
> if (!irq_settings_no_debug(desc))
> note_interrupt(desc, retval);
--
Best regards,
Jinjie
More information about the linux-arm-kernel
mailing list