From 1995b3a35fecbf8a8078a5c3ff4b4a88eddaa5fe Mon Sep 17 00:00:00 2001 From: Felix Kuehling Date: Thu, 3 Oct 2019 17:54:57 -0400 Subject: [PATCH] drm/amdgpu: Fix error handling in amdgpu_ras_recovery_init Don't set a struct pointer to NULL before freeing its members. It's hard to see what's happening due to a local pointer-to-pointer data aliasing con->eh_data. Signed-off-by: Felix Kuehling Tested-by: Philip Cox Reviewed-by: Hawking Zhang Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c index 486568ded6d6..0e2ee5869b5f 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c @@ -1542,10 +1542,10 @@ int amdgpu_ras_recovery_init(struct amdgpu_device *adev) release: amdgpu_ras_release_bad_pages(adev); free: - con->eh_data = NULL; kfree((*data)->bps); kfree((*data)->bps_bo); kfree(*data); + con->eh_data = NULL; out: DRM_WARN("Failed to initialize ras recovery!\n"); -- 2.45.2