Description
In the Linux kernel, the following vulnerability has been resolved: iommu/arm-smmu-v3: Manage teardown with devm arm_smmu_device_remove() manually frees the IOPF queue, destroys the vmid_map and disables the device, while the IRQs and queues are devm managed. devm unwinds only after remove() returns, so the cleanup runs in the wrong order. The IOPF queue is freed before the event-queue IRQ whose handler uses it. Manage all of it with devm so the unwind order is correct. Free the IOPF queue and vmid_map via devm actions, and disable the device from one registered after arm_smmu_device_reset(). This is also a prerequisite for fixing a Tegra241 CMDQV CMD_SYNC use-after-free in the subsequent patch.
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
395ad89d11fd93f79a6b942e91fc409807a63c4b to < 64b1a9384db9cabf1bde378a2d5c1923fd67ea0daffected395ad89d11fd93f79a6b942e91fc409807a63c4b to < 981686f4137760a16a03c5193f11d85133533f93affected395ad89d11fd93f79a6b942e91fc409807a63c4b to < 2235eafda9b3df9295efd0593cd4a8977440c3f6affected395ad89d11fd93f79a6b942e91fc409807a63c4b to < 78fd5a2d65f3546cb4285f8e52f445baecbd00e0affected395ad89d11fd93f79a6b942e91fc409807a63c4b to < 2bd22a0d40503a65d243b011de146603c8ce1cbcaffected
Linux Linux
Default version status: affected
5.14affected0 to < 5.14unaffected6.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/64b1a9384db9cabf1bde378a2d5c1923fd67ea0d ↗
- https://git.kernel.org/stable/c/981686f4137760a16a03c5193f11d85133533f93 ↗
- https://git.kernel.org/stable/c/2235eafda9b3df9295efd0593cd4a8977440c3f6 ↗
- https://git.kernel.org/stable/c/78fd5a2d65f3546cb4285f8e52f445baecbd00e0 ↗
- https://git.kernel.org/stable/c/2bd22a0d40503a65d243b011de146603c8ce1cbc ↗