CVE-2026-90082: net: mana: Cap MSI-X vectors to the device MSI-X table size
In the Linux kernel, the following vulnerability has been resolved:
net: mana: Cap MSI-X vectors to the device MSI-X table size
managdquerymaxresources() sizes gc->nummsixusable from resp.maxmsix and the CPU count, but never from the device MSI-X table. On a 1792 vCPU M-series VM that yields 1793 while the table has 1024 entries, and managdsetupremainingirqs() then walks indices 1..1792, running off the end of the region mapped by msixmapregion():
BUG: unable to handle page fault for address: ff8e347f8b99800c RIP: 0010:msixpreparemsidesc+0x7a/0x90 RAX: 0000000000004000 RBX: ff4330cb164ea780 RCX: ff8e347f8b998000 Call Trace: <TASK> msidomainallocirqs+0x13a/0x440 msidomainallocirqat+0x149/0x1b0 managdsetup+0x351/0x890 managdprobe+0x274/0x390 </TASK>
RAX is index 1024 PCIMSIXENTRYSIZE, one entry past the table.
msiinsertdesc() does range check the index, but only against the MSI domain hwsize, which matches the table only for devices on an MSI parent domain. With a global PCI/MSI domain hwsize is MSIXADOMAINSIZE, so nothing bounds the request.
Cap nummsixusable with pcimsixveccount().
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Compensating control
Cap MSI-X vectors to the device MSI-X table size (the fix described as: "Cap MSI-X vectors to the device MSI-X table size").
Event History
Frequently Asked Questions
Which systems are exposed to this issue?
Systems using the Linux kernel MANA network driver are exposed when the driver calculates more usable MSI-X vectors from the reported maximum and CPU count than the device's MSI-X table contains. The described trigger occurred on a 1792-vCPU M-series VM with a 1024-entry MSI-X table.
What condition triggers the fault?
The fault occurs during MANA device setup when IRQ allocation walks MSI-X indices beyond the mapped device MSI-X table. In the reported case, allocation reached index 1024, which is one entry past a 1024-entry table.
How can I tell whether a system has encountered this problem?
Affected systems may log a kernel BUG or page fault in msix_prepare_msi_desc during MANA probe or setup. The reported call trace includes __msi_domain_alloc_irqs, msi_domain_alloc_irq_at, mana_gd_setup, and mana_gd_probe.