[PATCH] genirq/irqdomain: Make sure all irq domain flags are distinct

From: Zenghui Yu
Date: Thu Feb 20 2020 - 21:08:02 EST


This was noticed when printing debugfs for MSIs on my ARM64 server.
The new dstate IRQD_MSI_NOMASK_QUIRK came out surprisingly while it
should only be the x86 stuff for the time being...

It's the overlap in irqdomain flags which leads to this confusion.
(1 << 1) might be a good choice for old IRQ_DOMAIN_NAME_ALLOCATED,
use it to avoid this overlap.

Fixes: 6f1a4891a592 ("x86/apic/msi: Plug non-maskable MSI affinity race")
Signed-off-by: Zenghui Yu <yuzenghui@xxxxxxxxxx>
---
include/linux/irqdomain.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h
index b2d47571ab67..8d062e86d954 100644
--- a/include/linux/irqdomain.h
+++ b/include/linux/irqdomain.h
@@ -192,7 +192,7 @@ enum {
IRQ_DOMAIN_FLAG_HIERARCHY = (1 << 0),

/* Irq domain name was allocated in __irq_domain_add() */
- IRQ_DOMAIN_NAME_ALLOCATED = (1 << 6),
+ IRQ_DOMAIN_NAME_ALLOCATED = (1 << 1),

/* Irq domain is an IPI domain with virq per cpu */
IRQ_DOMAIN_FLAG_IPI_PER_CPU = (1 << 2),
--
2.19.1