[tip: irq/urgent] genirq: Allow NULL affinity for setup_percpu_irq()

From: tip-bot2 for Marc Zyngier
Date: Tue Dec 09 2025 - 19:54:08 EST


The following commit has been merged into the irq/urgent branch of tip:

Commit-ID: 89acaa5537a29c742d7a6ed7241fc4cf5e2ef818
Gitweb: https://git.kernel.org/tip/89acaa5537a29c742d7a6ed7241fc4cf5e2ef818
Author: Marc Zyngier <maz@xxxxxxxxxx>
AuthorDate: Fri, 05 Dec 2025 09:18:14
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitterDate: Wed, 10 Dec 2025 09:47:33 +09:00

genirq: Allow NULL affinity for setup_percpu_irq()

setup_percpu_irq() was forgotten when the percpu_devid infrastructure was
updated to deal with CPU affinities.

In order to keep ignoring users of this legacy API, provide sensible
defaults by setting the affinity to cpu_online_mask if none was provided by
the caller.

Fixes: bdf4e2ac295fe ("genirq: Allow per-cpu interrupt sharing for non-overlapping affinities")
Reported-by: Daniel Thompson <danielt@xxxxxxxxxx>
Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: https://patch.msgid.link/20251205091814.3944205-1-maz@xxxxxxxxxx
Closes: https://lore.kernel.org/r/aTFozefMQRg7lYxh@xxxxxxxxx
---
kernel/irq/manage.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 0bb2931..8b1b4c8 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -2470,6 +2470,9 @@ int setup_percpu_irq(unsigned int irq, struct irqaction *act)
if (retval < 0)
return retval;

+ if (!act->affinity)
+ act->affinity = cpu_online_mask;
+
retval = __setup_irq(irq, desc, act);

if (retval)