CVE-2026-93169: dmaengine: zynqmp_dma: fix race between runtime PM and device removal
In the Linux kernel, the following vulnerability has been resolved:
dmaengine: zynqmpdma: fix race between runtime PM and device removal
In zynqmpdmaremove(), runtime PM was disabled only after checking state and doing a manual suspend. This can race with runtime PM in the remove/unbind (rmmod) path.
Disable runtime PM first, then suspend only if the device is not already suspended. To prevent any further runtime PM transitions.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-42.42 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1016.17 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1016.18 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1015.16 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1 - Operational
In dmaengine zynqmp_dma removal/unbind (rmmod), disable runtime PM before checking device state or performing a manual suspend, then suspend only if the device is not already suspended.
Event History
Frequently Asked Questions
When can this race be triggered?
The race is in the device removal, unbind, or kernel-module removal path, when runtime PM activity can occur while zynqmp_dma_remove() is executing.
What condition does the fix enforce during device removal?
It disables runtime PM before checking whether the device is suspended and performing a manual suspend. This prevents further runtime PM transitions during removal.