dma-buf/sync_file: hold reference to fence when creating sync_file
authorGustavo Padovan <gustavo.padovan@collabora.co.uk>
Wed, 19 Oct 2016 17:48:32 +0000 (15:48 -0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 9 Dec 2017 21:01:56 +0000 (22:01 +0100)
commit 30cd85dd6edc86ea8d8589efb813f1fad41ef233 upstream.

fence referencing was out of balance. It was not taking any ref to the
fence at creating time, but it was putting a reference when freeing the
sync file.

This patch fixes the balancing issue by getting a reference for the fence
when creating the sync_file.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: http://patchwork.freedesktop.org/patch/msgid/1476899313-22241-1-git-send-email-gustavo@padovan.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/dma-buf/sync_file.c

index eb39220..6847fe6 100644 (file)
@@ -79,7 +79,7 @@ struct sync_file *sync_file_create(struct fence *fence)
        if (!sync_file)
                return NULL;
 
-       sync_file->fence = fence;
+       sync_file->fence = fence_get(fence);
 
        snprintf(sync_file->name, sizeof(sync_file->name), "%s-%s%llu-%d",
                 fence->ops->get_driver_name(fence),