Commit 543c364d authored by Lin Yi's avatar Lin Yi Committed by Alex Deucher
Browse files

drm/ttm: fix dma_fence refcount imbalance on error path



the ttm_bo_add_move_fence takes a reference to the struct dma_fence, but
failed to release it on the error path, leading to a memory leak.
add dma_fence_put before return when error occur.

Signed-off-by: default avatarLin Yi <teroincn@163.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 45339336
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -876,8 +876,10 @@ static int ttm_bo_add_move_fence(struct ttm_buffer_object *bo,
		reservation_object_add_shared_fence(bo->resv, fence);

		ret = reservation_object_reserve_shared(bo->resv, 1);
		if (unlikely(ret))
		if (unlikely(ret)) {
			dma_fence_put(fence);
			return ret;
		}

		dma_fence_put(bo->moving);
		bo->moving = fence;