summaryrefslogtreecommitdiff
path: root/net/bpfilter/git@git.tavy.me:linux.git
diff options
context:
space:
mode:
authorWentao Liang <vulab@iscas.ac.cn>2026-06-07 09:03:03 +0000
committerDmitry Osipenko <dmitry.osipenko@collabora.com>2026-06-08 21:40:51 +0300
commit3f26bb732cc136ab20176697c92f32c9c84cb125 (patch)
tree17de2b41d0ee93b4eb41f806928c6f1c614cb2e2 /net/bpfilter/git@git.tavy.me:linux.git
parentc0837b9cf6eabbad8b8cbddaff1a46a6d0a2e29d (diff)
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. Cc: stable@vger.kernel.org Fixes: eba57fb5498f ("drm/virtio: Wait for each dma-fence of in-fence array individually") Signed-off-by: Wentao Liang <vulab@iscas.ac.cn> Reviewed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> Link: https://patch.msgid.link/20260607090303.92423-1-vulab@iscas.ac.cn
Diffstat (limited to 'net/bpfilter/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions