Overview
About vulnerability
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. A flaw was found in the Linux kernel’s IOMMU (Input/Output Memory Management Unit) AMD component. When the system operates under a stressed environment withiommu.strict=1 enabled, a busy-wait operation within the wait_on_sem() function can occur while holding a spinlock with interrupts disabled. This condition leads to increased contention and extended periods where the system cannot process interrupts, resulting in soft lockups. The primary consequence is a Denial of Service (DoS), making the system unresponsive.
Details
KernelCare state
Live-patch status from KernelCare for each operating system.
| Operating system | Status | Covered kernels |
|---|---|---|
| Debian 13 | Planned | — |
| Ubuntu 24.04 | Planned | — |
| Ubuntu 24.04 AWS | Planned | — |