]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
dma-fence: Fix reference leak on fence merge failure path
authorTvrtko Ursulin <tvrtko.ursulin@igalia.com>
Fri, 15 Nov 2024 10:21:49 +0000 (10:21 +0000)
committerChristian König <christian.koenig@amd.com>
Fri, 15 Nov 2024 12:08:56 +0000 (13:08 +0100)
Release all fence references if the output dma-fence-array could not be
allocated.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Fixes: 245a4a7b531c ("dma-buf: generalize dma_fence unwrap & merging v3")
Cc: Christian König <christian.koenig@amd.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Gustavo Padovan <gustavo@padovan.org>
Cc: Friedrich Vock <friedrich.vock@gmx.de>
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linaro-mm-sig@lists.linaro.org
Cc: <stable@vger.kernel.org> # v6.0+
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241115102153.1980-2-tursulin@igalia.com
drivers/dma-buf/dma-fence-unwrap.c

index 628af51c81af3d9a59cce67311b40d311c472e43..b19d0adf6086ef9785005ed8cdaa861b225ab75e 100644 (file)
@@ -164,6 +164,8 @@ restart:
                                        dma_fence_context_alloc(1),
                                        1, false);
        if (!result) {
+               for (i = 0; i < count; i++)
+                       dma_fence_put(array[i]);
                tmp = NULL;
                goto return_tmp;
        }