UBUNTU-CVE-2026-93168: Low severity ubuntu/linux-azure vulnerability
In the Linux kernel, the following vulnerability has been resolved: dmaengine: xilinxdma: Fix CPU stall in xilinxdmapolltimeout Currently when calling xilinxdmapolltimeout with delayus=0 and a condition that is never fulfilled, the CPU busy-waits for prolonged time and the timeout triggers only with a massive delay causing a CPU stall. This happens due to a huge underestimation of wall clock time in polltimeoutusatomic. Commit 7349a69cf312 ("iopoll: Do not use timekeeping in readpolltimeoutatomic()") changed the behavior to no longer use ktimeget at the expense of underestimation of wall clock time which appears to be very large for delayus=0. Instead of timing out after approximately XILINXDMALOOPCOUNT microseconds, the timeout takes XILINXDMALOOPCOUNT 1000 (time that the overhead of the for loop in polltimeoutusatomic takes) which is in the range of several minutes for XILINXDMALOOPCOUNT=1000000. Fix this by using a non-zero value for delayus. Use delayus=10 to keep the delay in the hot path of starting DMA transfers minimal but still avoid CPU stalls in case of unexpected hardware failures. One-off measurement with delayus=0 causes the cpu to busy wait around 7 minutes in the timeout case. After applying this patch with delayus=10 the measured timeout was 1053428 microseconds which is roughly equivalent to the expected 1000000 microseconds specified in XILINXDMALOOPCOUNT. Add a constant XILINXDMAPOLLDELAYUS for delayus value.
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 - Configuration
Add the XILINX_DMA_POLL_DELAY_US constant and use a non-zero delay_us value of 10 in xilinx_dma_poll_timeout to avoid CPU stalls.
Linux kernel xilinx_dma XILINX_DMA_POLL_DELAY_US / delay_us = 10