diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2026-06-03 17:00:06 +0200 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2026-06-03 17:00:06 +0200 |
| commit | 9fb628b4cd3488a36e3fc9b22bb840048aa1a9d2 (patch) | |
| tree | 393daf8614f7915c98eca753d79545aa7e9feb99 /kernel/irq/chip.c | |
| parent | ffb83b98357658b44a8a3b617a42d7ae48514ffd (diff) | |
| parent | c114187c5dcf1a66a2910ec66a87d230d523e5c1 (diff) | |
| download | linux-next-9fb628b4cd3488a36e3fc9b22bb840048aa1a9d2.tar.gz linux-next-9fb628b4cd3488a36e3fc9b22bb840048aa1a9d2.zip | |
Merge branch 'kvm-ghcb-for-7.2' into HEAD
Merge the final part of the GHCB 7.2 fixes at
https://lore.kernel.org/kvm/20260529183549.1104619-1-pbonzini@redhat.com/.
Patches 1-17 have already been included in Linux 7.1; these are minor
cleanups, and fixes for behaviors that are suboptimal or contradicting
the specification.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'kernel/irq/chip.c')
| -rw-r--r-- | kernel/irq/chip.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index 6c9b1dc4e7d4..b635e3c5d5b6 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c @@ -14,6 +14,7 @@ #include <linux/interrupt.h> #include <linux/kernel_stat.h> #include <linux/irqdomain.h> +#include <linux/preempt.h> #include <linux/random.h> #include <trace/events/irq.h> @@ -893,7 +894,10 @@ void handle_percpu_irq(struct irq_desc *desc) * * action->percpu_dev_id is a pointer to percpu variables which * contain the real device id for the cpu on which this handler is - * called + * called. + * + * May be used for NMI interrupt lines, and so may be called in IRQ or NMI + * context. */ void handle_percpu_devid_irq(struct irq_desc *desc) { @@ -930,7 +934,8 @@ void handle_percpu_devid_irq(struct irq_desc *desc) enabled ? " and unmasked" : "", irq, cpu); } - add_interrupt_randomness(irq); + if (!in_nmi()) + add_interrupt_randomness(irq); if (chip->irq_eoi) chip->irq_eoi(&desc->irq_data); |
