From c654dd07522e88bacc546c9ccd81b3ee72838ccf Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Wed, 21 Sep 2016 10:20:19 +0300 Subject: [PATCH] dma-buf/sync_file: free fences array in num_fences is 1 When merging sync_files there is a case when we can end up with only one fence in the merged sync_file: when all fences belong to the same timeline. So for this case a fence_array is not created instead we just assigned the fence to sync_file->fence. Then we do not use the fences array anymore nor does free it. This patch frees the array. Reported-by: Chris Wilson Reviewed-by: Chris Wilson Signed-off-by: Gustavo Padovan Signed-off-by: Sean Paul Link: http://patchwork.freedesktop.org/patch/msgid/1474442419-6040-1-git-send-email-gustavo@padovan.org --- drivers/dma-buf/sync_file.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/dma-buf/sync_file.c b/drivers/dma-buf/sync_file.c index 0fe7ec2657fd..b29a9e817320 100644 --- a/drivers/dma-buf/sync_file.c +++ b/drivers/dma-buf/sync_file.c @@ -150,6 +150,7 @@ static int sync_file_set_fence(struct sync_file *sync_file, */ if (num_fences == 1) { sync_file->fence = fences[0]; + kfree(fences); } else { array = fence_array_create(num_fences, fences, fence_context_alloc(1), 1, false);