Description
In the Linux kernel, the following vulnerability has been resolved:
drm/virtio: fix dma_fence refcount leak on error in virtio_gpu_dma_fence_wait()
dma_fence_unwrap_for_each() internally calls dma_fence_unwrap_first() which does cursor->chain = dma_fence_get(head), taking an extra reference. On normal loop completion, dma_fence_unwrap_next() releases this via dma_fence_chain_walk() -> dma_fence_put().
When virtio_gpu_do_fence_wait() fails and the function returns early from inside the loop, the cursor->chain reference is never released. This is the only caller in the entire kernel that does an early return inside dma_fence_unwrap_for_each.
Add dma_fence_put(itr.chain) before the early return.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HAffected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= eba57fb5498f2858768321e64570caea188455b8, < 898bd0ccfed71651b881660c5d20ad73b5203174; >= eba57fb5498f2858768321e64570caea188455b8, < 73524e9f96a278b521f257a78a845c49eb522bc1; >= eba57fb5498f2858768321e64570caea188455b8, < 8348567a6afb24e2c9cafe8a321162d0eebe1411; >= eba57fb5498f2858768321e64570caea188455b8, < c0fffc874c264292e769f26194a2a5e66ce31810; >= eba57fb5498f2858768321e64570caea188455b8, < 3f26bb732cc136ab20176697c92f32c9c84cb125 |
| Linux | Linux | 6.5 |
References
- https://git.kernel.org/stable/c/3f26bb732cc136ab20176697c92f32c9c84cb125Patch
- https://git.kernel.org/stable/c/73524e9f96a278b521f257a78a845c49eb522bc1Patch
- https://git.kernel.org/stable/c/8348567a6afb24e2c9cafe8a321162d0eebe1411Patch
- https://git.kernel.org/stable/c/898bd0ccfed71651b881660c5d20ad73b5203174Patch
- https://git.kernel.org/stable/c/c0fffc874c264292e769f26194a2a5e66ce31810Patch
Timeline
- Published
- Jun 25, 2026
- Last modified
- Nov 6, 2026
- NVD status
- Analyzed