Description
In the Linux kernel, the following vulnerability has been resolved: iommu/vt-d: Use device rbtree in iopf reporting path The existing I/O page fault handler currently locates the PCI device by calling pci_get_domain_bus_and_slot(). This function searches the list of all PCI devices until the desired device is found. To improve lookup efficiency, replace it with device_rbtree_find() to search the device within the probed device rbtree. The I/O page fault is initiated by the device, which does not have any synchronization mechanism with the software to ensure that the device stays in the probed device tree. Theoretically, a device could be released by the IOMMU subsystem after device_rbtree_find() and before iopf_get_dev_fault_param(), which would cause a use-after-free problem. Add a mutex to synchronize the I/O page fault reporting path and the IOMMU release device path. This lock doesn't introduce any performance overhead, as the conflict between I/O page fault reporting and device releasing is very rare.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
06f4b8d09dbabec631ed7b033f5d5413d86c7134 to < 3d39238991e745c5df85785604f037f35d9d1b15affected06f4b8d09dbabec631ed7b033f5d5413d86c7134 to < def054b01a867822254e1dda13d587f5c7a99e2aaffected
Linux Linux
Default version status: affected
6.1affected0 to < 6.1unaffected6.8.2 to ≤ 6.8.*unaffected6.9 to ≤ *unaffected