[PATCH] dma-buf: Release input fences in the unwrap merge order test

From: Wentao Liang

Date: Tue Nov 03 2026 - 01:45:17 EST


The merge order test creates an array and a chain as inputs to
dma_fence_unwrap_merge(). The merge takes references to the underlying
fences but does not consume the input containers. The success path only
puts the merged result, leaking both the input array and the outer chain,
which owns the inner chain.

Put the outer chain after checking the merged result and fall through to
the existing array cleanup on success as well as failure.

The dma-buf-fence-unwrap KUnit suite passes all 11 tests under UML.

Fixes: b1cce631e61f ("dma-buf: add selftest for fence order after merge")
Cc: stable@xxxxxxxxxxxxxxx
Assisted-by: DeepSeek-V4.1-Flash and OpenAI Codex
Signed-off-by: Wentao Liang <vulab@xxxxxxxxxxx>
---
drivers/dma-buf/st-dma-fence-unwrap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/dma-buf/st-dma-fence-unwrap.c b/drivers/dma-buf/st-dma-fence-unwrap.c
index c5353b36f0e4..8115a721dc88 100644
--- a/drivers/dma-buf/st-dma-fence-unwrap.c
+++ b/drivers/dma-buf/st-dma-fence-unwrap.c
@@ -437,7 +437,7 @@ static void test_unwrap_merge_order(struct kunit *test)
KUNIT_FAIL(test, "Not all fences seen!");

dma_fence_put(a2);
- return;
+ dma_fence_put(c2);

error_put_a1:
dma_fence_put(a1);
--
2.34.1