In the Linux kernel, the following vulnerability has been resolved:
Revert "PCI/MSI: Unmap MSI-X region on error"
This reverts commit 1a8d4c6ecb4c81261bcdf13556abd4a958eca202.
Commit 1a8d4c6ecb4c ("PCI/MSI: Unmap MSI-X region on error") added an iounmap(dev->msix_base) on the error path of msix_capability_init() to release the MSI-X region when msix_setup_interrupts() fails.
When msix_setup_interrupts() fails, the call chain is:
msix_setup_interrupts() -> __msix_setup_interrupts() struct pci_dev *dev __free(free_msi_irqs) = __dev; ... return ret; // __free cleanup fires on error
The __free(free_msi_irqs) cleanup calls pci_free_msi_irqs(), which already handles the unmap:
void pci_free_msi_irqs(struct pci_dev *dev) { pci_msi_teardown_msi_irqs(dev); if (dev->msix_base) { iounmap(dev->msix_base); // already unmapped here dev->msix_base = NULL; // and set to NULL } }
So dev->msix_base is unmapped and set to NULL before msix_setup_interrupts() returns to msix_capability_init(). The "goto out_unmap" introduced by commit 1a8d4c6ecb4c ("PCI/MSI: Unmap MSI-X region on error") then calls iounmap() a second time on a NULL pointer.
This was reproduced on Intel Emerald Rapids (192 CPUs) while running tools/testing/selftests/kexec/test_kexec_jump.sh:
WARNING: CPU#44 at iounmap+0x2a/0xe0 RIP: 0010:iounmap+0x2a/0xe0 RDI: 0000000000000000 Call Trace: msix_capability_init+0x317/0x3f0 __pci_enable_msix_range+0x21d/0x2c0 pci_alloc_irq_vectors_affinity+0xa9/0x130 nvme_setup_io_queues+0x2a8/0x420 [nvme] nvme_reset_work+0x151/0x340 [nvme] ...
RDI=0 confirms iounmap() is called with NULL.
Restore the original "goto out_disable" and leave the unmap to the existing __free(free_msi_irqs) cleanup.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Aug 30, 2026 | Aug 30, 2026 |
| Ubuntu | — | Upgrade linux-image-azure-lts-26.04Upgrade linux-image-fipsUpgrade linux-image-generic-lpaeUpgrade linux-image-azureUpgrade linux-image-gke-64k-6.8Upgrade linux-image-aws-64k-7.0Upgrade linux-image-7.0.0-1016-azure-fdeUpgrade linux-image-generic-7.0Upgrade linux-image-oem-26.04Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-aws-7.0Upgrade linux-image-gke-7.0Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-gke-64kUpgrade linux-image-7.0.0-1013-oracle-64kUpgrade linux-image-7.0.0-38-realtime-64kUpgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-lowlatency-6.8Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-7.0.0-38-realtimeUpgrade linux-image-oem-26.04aUpgrade linux-image-6.8.0-1071-gcp-fipsUpgrade linux-image-6.8.0-147-fipsUpgrade linux-image-6.8.0-1069-azure-fdeUpgrade linux-image-realtime-6.8.1Upgrade linux-image-gke-64k-7.0Upgrade linux-image-gke-64k-hwe-26.04Upgrade linux-image-gkeUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-aws-6.8Upgrade linux-image-gcp-64k-7.0Upgrade linux-image-6.8.0-1071-gcpUpgrade linux-image-realtime-64kUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-generic-64kUpgrade linux-image-azure-fdeUpgrade linux-image-lowlatency-64kUpgrade linux-image-7.0.0-1013-oracleUpgrade linux-image-6.8.0-147-lowlatency-64kUpgrade linux-image-7.0.0-1017-azureUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-realtimeUpgrade linux-image-6.8.0-1064-oracleUpgrade linux-image-virtual-6.8Upgrade linux-image-6.8.0-1067-aws-fipsUpgrade linux-image-ibm-7.0Upgrade linux-image-laptop-23.10Upgrade linux-image-6.8.0-1067-ibmUpgrade linux-image-6.8.0-147-lowlatencyUpgrade linux-image-gcp-fipsUpgrade linux-image-oracle-6.8Upgrade linux-image-aws-fipsUpgrade linux-image-genericUpgrade linux-image-azure-fde-6.8Upgrade linux-image-gkeopUpgrade linux-image-gcp-64kUpgrade linux-image-realtime-7.0Upgrade linux-image-6.8.0-147-genericUpgrade linux-image-kvmUpgrade linux-image-intel-iotgUpgrade linux-image-azure-lts-24.04Upgrade linux-image-azure-fde-lts-26.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-generic-6.8Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1067-aws-64kUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-7.0.0-1014-aws-64kUpgrade linux-image-6.8.0-1071-azureUpgrade linux-image-6.8.0-147-generic-64kUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-generic-64k-7.0Upgrade linux-image-azure-7.0Upgrade linux-image-7.0.0-1014-awsUpgrade linux-image-ibmUpgrade linux-image-azure-fde-7.0Upgrade linux-image-azure-6.8Upgrade linux-image-7.0.0-1015-oemUpgrade linux-image-realtime-hwe-26.04Upgrade linux-image-oracle-7.0Upgrade linux-image-7.0.0-1008-gke-64kUpgrade linux-image-6.8.0-1064-oracle-64kUpgrade linux-image-6.8.0-1066-gkeUpgrade linux-image-awsUpgrade linux-image-oracle-64k-7.0Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-virtual-7.0Upgrade linux-image-aws-64k-6.8Upgrade linux-image-gcpUpgrade linux-image-oracleUpgrade linux-image-virtual-hwe-26.04Upgrade linux-image-7.0.0-38-genericUpgrade linux-image-7.0.0-1014-gcpUpgrade linux-image-generic-hwe-26.04Upgrade linux-image-ibm-6.8Upgrade linux-image-virtualUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-gcp-7.0Upgrade linux-image-realtime-64k-7.0Upgrade linux-image-lowlatencyUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-generic-64k-6.8Upgrade linux-image-azure-fips-6.8Upgrade linux-image-azure-fipsUpgrade linux-image-7.0.0-38-generic-64kUpgrade linux-image-7.0.0-1015-ibmUpgrade linux-image-7.0.0-1008-gkeUpgrade linux-image-6.8.0-1071-gcp-64kUpgrade linux-image-6.8.0-1071-azure-fipsUpgrade linux-image-aws-fips-6.8Upgrade linux-image-fips-6.8Upgrade linux-image-gcp-6.8Upgrade linux-image-6.8.0-1066-gke-64kUpgrade linux-image-oracle-64kUpgrade linux-image-oem-7.0Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-ibm-classicUpgrade linux-image-gke-hwe-26.04Upgrade linux-image-gke-6.8Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-aws-64kUpgrade linux-image-7.0.0-1014-gcp-64kUpgrade linux-image-6.8.1-1062-realtimeUpgrade linux-image-6.8.0-1067-awsUpgrade linux-image-6.8.0-1052-gkeop | Oct 7, 2026 | Oct 6, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Sep 15, 2026 | Aug 28, 2026 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub