CVE-2026-72095
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
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
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 575ec9b0c2f11f40535ea737ed5a64792780d1ef < 7aa8f3dba53422465dbe1be8dbb7240304462bb2 | affected |
| Linux | Linux | 575ec9b0c2f11f40535ea737ed5a64792780d1ef < e2d9a2ea178a5da0b4a6693e8ebca5c7fc4d7051 | affected |
| Linux | Linux | 575ec9b0c2f11f40535ea737ed5a64792780d1ef < 77a9298741f8f9e8b963c977f5582ab21c6d3427 | affected |
| Linux | Linux | 6.16 | affected |
| Linux | Linux | 0 < 6.16 | unaffected |
| Linux | Linux | 6.18.40 <= 6.18.* | unaffected |
| Linux | Linux | 7.1.5 <= 7.1.* | unaffected |
| Linux | Linux | 7.2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/7aa8f3dba53422465dbe1be8dbb7240304462bb2
- https://git.kernel.org/stable/c/e2d9a2ea178a5da0b4a6693e8ebca5c7fc4d7051
- https://git.kernel.org/stable/c/77a9298741f8f9e8b963c977f5582ab21c6d3427
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.