Description
In the Linux kernel, the following vulnerability has been resolved: iommu/amd: move wait_on_sem() out of spinlock With iommu.strict=1, the existing completion wait path can cause soft lockups under stressed environment, as wait_on_sem() busy-waits under the spinlock with interrupts disabled. Move the completion wait in iommu_completion_wait() out of the spinlock. wait_on_sem() only polls the hardware-updated cmd_sem and does not require iommu->lock, so holding the lock during the busy wait unnecessarily increases contention and extends the time with interrupts disabled.
Product status
4bf5beef578e46393f11eb69dda7d17a065e05ff (git) before f2f65b28d802a667119147444ec2ae33eebf9a58
4bf5beef578e46393f11eb69dda7d17a065e05ff (git) before 715c263119fd1b918a9fcbd8a36ea5b604a46324
4bf5beef578e46393f11eb69dda7d17a065e05ff (git) before e15768e68820142077bbca402d8e902f64ade1b0
4bf5beef578e46393f11eb69dda7d17a065e05ff (git) before 496269d12072ecb219826485bdbec70c92a8eef5
4bf5beef578e46393f11eb69dda7d17a065e05ff (git) before d2a0cac10597068567d336e85fa3cbdbe8ca62bf
4.9
Any version before 4.9
6.6.128 (semver)
6.12.75 (semver)
6.18.16 (semver)
6.19.6 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/f2f65b28d802a667119147444ec2ae33eebf9a58
git.kernel.org/...c/715c263119fd1b918a9fcbd8a36ea5b604a46324
git.kernel.org/...c/e15768e68820142077bbca402d8e902f64ade1b0
git.kernel.org/...c/496269d12072ecb219826485bdbec70c92a8eef5
git.kernel.org/...c/d2a0cac10597068567d336e85fa3cbdbe8ca62bf