CVE-2026-46141: powerpc/xive: fix kmemleak caused by incorrect chip_data lookup
In the Linux kernel, the following vulnerability has been resolved:
powerpc/xive: fix kmemleak caused by incorrect chip_data lookup
The kmemleak reports the following memory leak:
Unreferenced object 0xc0000002a7fbc640 (size 64):
comm "kworker/8:1", pid 540, jiffies 4294937872
hex dump (first 32 bytes):
01 00 00 00 00 00 00 00 00 00 09 04 00 04 00 00 ................
00 00 a7 81 00 00 0a c0 00 00 08 04 00 04 00 00 ................
backtrace (crc 177d48f6):
__kmalloc_cache_noprof+0x520/0x730
xive_irq_alloc_data.constprop.0+0x40/0xe0
xive_irq_domain_alloc+0xd0/0x1b0
irq_domain_alloc_irqs_parent+0x44/0x6c
pseries_irq_domain_alloc+0x1cc/0x354
irq_domain_alloc_irqs_parent+0x44/0x6c
msi_domain_alloc+0xb0/0x220
irq_domain_alloc_irqs_locked+0x138/0x4d0
__irq_domain_alloc_irqs+0x8c/0xfc
__msi_domain_alloc_irqs+0x214/0x4d8
msi_domain_alloc_irqs_all_locked+0x70/0xf8
pci_msi_setup_msi_irqs+0x60/0x78
__pci_enable_msix_range+0x54c/0x98c
pci_alloc_irq_vectors_affinity+0x16c/0x1d4
nvme_pci_enable+0xac/0x9c0 [nvme]
nvme_probe+0x340/0x764 [nvme]
This occurs when allocating MSI-X vectors for an NVMe device. During
allocation the XIVE code creates a struct xive_irq_data and stores it
in irq_data->chip_data.
When the MSI-X irqdomain is later freed, xive_irq_free_data() is
responsible for retrieving this structure and freeing it. However,
after commit cc0cc23babc9 ("powerpc/xive: Untangle xive from child
interrupt controller drivers"), xive_irq_free_data() retrieves the
chip_data using irq_get_chip_data(), which looks up the data through
the child domain.
This is incorrect because the XIVE-specific irq data is associated with
the XIVE (parent) domain. As a result the lookup fails and the allocated
struct xive_irq_data is never freed, leading to the kmemleak report
shown above.
Fix this by retrieving the irq_data from the correct domain using
irq_domain_get_irq_data() and then accessing the chip_data via
irq_data_get_irq_chip_data().
Security readout for executives and security teams
Plain-English summary
CVE-2026-46141 is a Linux kernel memory leak in PowerPC XIVE interrupt handling. When MSI-X interrupts are allocated and later freed, the kernel may fail to free a small XIVE data structure. The source ties this to NVMe MSI-X allocation, not remote compromise or data theft.
Executive priority
Treat this as a targeted reliability issue, not an internet-scale emergency. Patch through normal kernel maintenance, with faster action for PowerPC production hosts where memory pressure or NVMe churn could affect availability.
Technical view
The bug is in powerpc/xive cleanup after commit cc0cc23babc9. xive_irq_free_data() queried chip_data through the child interrupt domain, while the XIVE data belongs to the parent domain. The fix retrieves irq_data from the correct domain and then frees the associated xive_irq_data.
Likely exposure
Exposure appears limited to Linux systems using PowerPC XIVE interrupt handling, especially environments with MSI-X devices such as NVMe. The source lists affected Linux versions and stable commits but does not provide distro-specific package names or CPEs.
Exploitation context
The CVE record does not report active exploitation, and KEV is false. The available evidence describes a memory leak observed by kmemleak during NVMe MSI-X vector allocation, not a public exploit path or privilege escalation technique.
Researcher notes
The public source is specific: incorrect chip_data lookup during XIVE IRQ free causes leaked xive_irq_data. No CVSS, CWE, exploit status, or distro mapping is provided, so impact beyond resource leakage should not be assumed.
Mitigation direction
Update to a Linux kernel containing one of the referenced stable fixes.
Check distribution vendor advisories for backported fixes and supported package versions.
Prioritize PowerPC systems using XIVE and MSI-X capable devices such as NVMe.
If patching is delayed, monitor memory pressure and kernel leak reports on exposed systems.
Validation and detection
Inventory PowerPC Linux systems and identify kernels in the affected version range.
Confirm the running kernel includes the referenced stable fix or vendor backport.
Review kernel diagnostics for kmemleak entries mentioning xive_irq_alloc_data or XIVE IRQ data.
After update, regression test NVMe and other MSI-X devices on representative PowerPC hosts.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-46141 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
4Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
May 28, 2026, 09:35 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.