CVE-2026-90241
Description
In the Linux kernel, the following vulnerability has been resolved: iommu/vt-d: Tear down scalable-mode context on probe failure intel_pasid_setup_sm_context() walks a PCI device’s DMA aliases via pci_for_each_dma_alias() and programs a scalable-mode context entry for each RID. For a device with a dma_alias_mask, the callback is invoked once for the device’s own RID and once for each alias bit, all with the same pci_dev, so device_pasid_table_setup() runs for multiple RIDs. pci_for_each_dma_alias() stops at the first callback error. Therefore, a failure partway through the walk can leave context entries for already processed RIDs present and still pointing to the device’s PASID table. On this error path, intel_iommu_probe_device() currently jumps directly to intel_pasid_free_table(), which frees the PASID table without first tearing down those context entries. The IOMMU may then walk a present context entry whose PASID table pointer references freed memory. intel_iommu_release_device() already performs teardown before freeing the table. Apply the same ordering on the probe failure path. device_pasid_table_teardown() safely handles RIDs that were never programmed: iommu_context_addr() returns NULL when no context table has been allocated, and clearing the Present bit of an already non-present entry is a no-op. So unwind is safe for both the alias that failed and any aliases not yet reached.
How to fix
- Linux Linux25ac85a9747cd63e1d166ace7b360a2cd9479d9d, d0e978ced7429b516358bb4d41d337214768ae98, db5daf25f754cdc20c18525adb88240ece6fdee9, c509fb73a1093a15accd7d43a61645d4b520f6ac or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | 301f1a80487fd2f51012533792583d4425e8b8c0 ≤ v < 25ac85a9747cd63e1d166ace7b360a2cd9479d9d, 301f1a80487fd2f51012533792583d4425e8b8c0 ≤ v < d0e978ced7429b516358bb4d41d337214768ae98, 301f1a80487fd2f51012533792583d4425e8b8c0 ≤ v < db5daf25f754cdc20c18525adb88240ece6fdee9, 301f1a80487fd2f51012533792583d4425e8b8c0 ≤ v < c509fb73a1093a15accd7d43a61645d4b520f6ac, 6.9 | 25ac85a9747cd63e1d166ace7b360a2cd9479d9d, d0e978ced7429b516358bb4d41d337214768ae98, db5daf25f754cdc20c18525adb88240ece6fdee9, c509fb73a1093a15accd7d43a61645d4b520f6ac |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.