Re: [RFC PATCH v2 45/45] irqchip/gic-v5: Add NMI support for IPIs
From: Marc Zyngier <maz@kernel.org>
Date: 2026-08-07 10:57:55
On Fri, 07 Aug 2026 11:42:12 +0100, Vladimir Murzin [off-list ref] wrote:
On 8/7/26 11:17, Marc Zyngier wrote:quoted
On Mon, 27 Jul 2026 17:34:53 +0100, Vladimir Murzin [off-list ref] wrote:quoted
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 7eb07e3bdb4c..0091bb5f7662 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c@@ -1370,9 +1370,14 @@ static bool irq_supports_nmi(struct irq_desc *desc) struct irq_data *d = irq_desc_get_irq_data(desc); #ifdef CONFIG_IRQ_DOMAIN_HIERARCHY - /* Only IRQs directly managed by the root irqchip can be set as NMI */ - if (d->parent_data) - return false; + struct irq_data *data; + /* + * Only IRQs directly managed by the root irqchip can be set + * as NMI unless we inherit NMI from parent + */ + for (data = d->parent_data; data; data = data->parent_data) + if (!(data->chip && data->chip->flags & IRQCHIP_SUPPORTS_NMI)) + return false;Maybe we should just trust the local irqchip to do the right thing. After all, the core code shouldn't be in the business of sanitising broken irqchip drivers advertising random crap.That is indeed bit I was not really sure about, if we decide that we can trust local irqchip then I assume we just drop the check?
Yup. Drop the CONFIG_IRQ_DOMAIN_HIERARCHY hack, and only consider the local information. Thanks, M. -- Without deviation from the norm, progress is not possible.