← Back to CVE List
CVE-2026-90123NVD
Vulnerability Summary
In the Linux kernel, the following vulnerability has been resolved:
irqchip/ast2700-intc: Avoid allocating in the irq_domain activate() callback
The interrupt core calls the irq_domain_activate() callback from
__setup_irq() with desc->lock held and interrupts disabled. Both
aspeed_intc1_irq_domain_activate() and aspeed_intc0_resolve_route() test a
compatible string with fwnode_device_is_compatible().
fwnode_device_is_compatible() invokes fwnode_property_match_string(), which
allocates with GFP_KERNEL. That's obviously not possible with interrupts
disabled and a raw spinlock held.
Both call sites are only ever handed OF nodes, so use
of_device_is_compatible() instead: it walks the property in place and does
not allocate.
irqchip/ast2700-intc: Avoid allocating in the irq_domain activate() callback
The interrupt core calls the irq_domain_activate() callback from
__setup_irq() with desc->lock held and interrupts disabled. Both
aspeed_intc1_irq_domain_activate() and aspeed_intc0_resolve_route() test a
compatible string with fwnode_device_is_compatible().
fwnode_device_is_compatible() invokes fwnode_property_match_string(), which
allocates with GFP_KERNEL. That's obviously not possible with interrupts
disabled and a raw spinlock held.
Both call sites are only ever handed OF nodes, so use
of_device_is_compatible() instead: it walks the property in place and does
not allocate.
Affected & Patched Versions
- Linux Linux >= 07825e41519abb8ac13d6d1c553af47f57775f6b and < f2f0da11648616e47419dca93610f6c0d70ec00b
- Linux Linux >= 07825e41519abb8ac13d6d1c553af47f57775f6b and < b76eee9c2157223aa4aac42ceebb563288e078aa
- Linux Linux >= 7.2
- Linux Linux f2f0da11648616e47419dca93610f6c0d70ec00b
- Linux Linux b76eee9c2157223aa4aac42ceebb563288e078aa