From: Pan Bian Date: Wed, 6 Nov 2019 09:14:45 +0000 (+0800) Subject: drm/amdgpu: fix potential double drop fence reference X-Git-Tag: v5.5-rc1~128^2~11^2~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=946ab8db6953535a3a88c957db8328beacdfed9d;p=thirdparty%2Fkernel%2Flinux.git drm/amdgpu: fix potential double drop fence reference The object fence is not set to NULL after its reference is dropped. As a result, its reference may be dropped again if error occurs after that, which may lead to a use after free bug. To avoid the issue, fence is explicitly set to NULL after dropping its reference. Acked-by: Christian König Signed-off-by: Pan Bian Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c index b66d29d5ffa2c..b158230af8db7 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c @@ -138,6 +138,7 @@ static void amdgpu_do_test_moves(struct amdgpu_device *adev) } dma_fence_put(fence); + fence = NULL; r = amdgpu_bo_kmap(vram_obj, &vram_map); if (r) { @@ -183,6 +184,7 @@ static void amdgpu_do_test_moves(struct amdgpu_device *adev) } dma_fence_put(fence); + fence = NULL; r = amdgpu_bo_kmap(gtt_obj[i], >t_map); if (r) {