Description
In the Linux kernel, the following vulnerability has been resolved: iommu/sva: Set handle->dev before the SVA handle is visible iommu_attach_device_pasid() installs the new SVA attach handle in the group PASID lookup before iommu_sva_bind_device() returns. A concurrent bind can therefore find and reuse the same handle after iommu_sva_lock is dropped. handle->dev was initialized after dropping iommu_sva_lock. This leaves a window where a racing bind can return a handle whose dev pointer is still NULL. A subsequent iommu_sva_unbind_device() can then dereference it via handle->dev->iommu_group. Initialize handle->dev before releasing iommu_sva_lock so any visible SVA handle is fully initialized.
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
be51b1d6bbff48c7d1943a8ff1e5a55777807f6e to < c4c71368bc5c5b3840590d39b4cfa12d733cadf4affectedbe51b1d6bbff48c7d1943a8ff1e5a55777807f6e to < bcffb1c75da8fc9d51168ff9f09d471c26507912affectedbe51b1d6bbff48c7d1943a8ff1e5a55777807f6e to < 968e9a1f71140c86dc4092f6b361e997923f3813affectedbe51b1d6bbff48c7d1943a8ff1e5a55777807f6e to < 37a96a30617a4c96f048a5874c00509bc4fe4d85affectedbe51b1d6bbff48c7d1943a8ff1e5a55777807f6e to < 530f8f9c3546cb3ebee1b135375aaee08a073ebbaffected
Linux Linux
Default version status: affected
6.2affected0 to < 6.2unaffected6.6.160 to ≤ 6.6.*unaffected6.12.109 to ≤ 6.12.*unaffected6.18.50 to ≤ 6.18.*unaffected7.2.4 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/c4c71368bc5c5b3840590d39b4cfa12d733cadf4 ↗
- https://git.kernel.org/stable/c/bcffb1c75da8fc9d51168ff9f09d471c26507912 ↗
- https://git.kernel.org/stable/c/968e9a1f71140c86dc4092f6b361e997923f3813 ↗
- https://git.kernel.org/stable/c/37a96a30617a4c96f048a5874c00509bc4fe4d85 ↗
- https://git.kernel.org/stable/c/530f8f9c3546cb3ebee1b135375aaee08a073ebb ↗