CVE-2026-72095

Summary

In the Linux kernel, the following vulnerability has been resolved:

dma-fence: Make dma_fence_dedup_array() robust against 0-count input

dma_fence_dedup_array() returns 1 when called with num_fences == 0: the for-loop body never executes, j stays at 0, and the final return ++j yields 1. This contradicts both the kernel-doc ("Return: Number of unique fences remaining in the array") and the natural expectation that 0 input gives 0 output.

The caller __dma_fence_unwrap_merge() bails out via the if (count == 0 || count == 1) fast path and so is save.

But amdgpu_userq_wait_*() could reach the dedup call with a zero local count and dereference an uninitialized fence slot in the array.

Make the contract match the documentation by returning 0 early. This also skips an unnecessary sort() call on an empty array.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux575ec9b0c2f11f40535ea737ed5a64792780d1ef < 7aa8f3dba53422465dbe1be8dbb7240304462bb2affected
LinuxLinux575ec9b0c2f11f40535ea737ed5a64792780d1ef < e2d9a2ea178a5da0b4a6693e8ebca5c7fc4d7051affected
LinuxLinux575ec9b0c2f11f40535ea737ed5a64792780d1ef < 77a9298741f8f9e8b963c977f5582ab21c6d3427affected
LinuxLinux6.16affected
LinuxLinux0 < 6.16unaffected
LinuxLinux6.18.40 <= 6.18.*unaffected
LinuxLinux7.1.5 <= 7.1.*unaffected
LinuxLinux7.2 <= *unaffected

Weaknesses

References