projects/linux·commit fbbd7ce6

genirq: Don't overwrite interrupt thread flags on setup

fbbd7ce6 · Thomas Gleixner <[email protected]> · 2025-12-12 13:01:04 +09:00

Chris reported that the recent affinity management changes result in
overwriting the already initialized thread flags.

Use set_bit() to set the affinity bit instead of assigning the bit value to
the flags.

Fixes: 801afdfbfcd9 ("genirq: Fix interrupt threads affinity vs. cpuset isolated partitions")
Reported-by: Chris Mason <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: Frederic Weisbecker <[email protected]>
Link: https://patch.msgid.link/87ecp0e4cf.ffs@tglx
Closes: https://lore.kernel.org/all/[email protected]
Commit
fbbd7ce627af733ded7971b2495b0d099a0a80da
Parents
7dbc0d40

Changes

1 files changed · +1 −1

FileStatusAddDelContent
kernel/irq/manage.cmodified+1−1View file

kernel/irq/manage.c

View file
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 8b1b4c8..349ae79 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -1414,7 +1414,7 @@ setup_irq_thread(struct irqaction *new, unsigned int irq, bool secondary)
* Ensure the thread adjusts the affinity once it reaches the
* thread function.
*/
- new->thread_flags = BIT(IRQTF_AFFINITY);
+ set_bit(IRQTF_AFFINITY, &new->thread_flags);
return 0;
}