From: Alex Deucher Date: Wed, 14 Mar 2018 01:43:00 +0000 (-0500) Subject: drm/amdgpu/powerplay/vega10: fix memory leak in error path X-Git-Tag: microblaze-v4.18-rc1~5^2~21^2~32 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=a423f79ad74710bf4d0c16bf0435ad84830dd35c;p=linux-2.6-microblaze.git drm/amdgpu/powerplay/vega10: fix memory leak in error path Free the backend structure if we fail to allocate device memory. Reviewed-by: Evan Quan Reviewed-by: Rex Zhu Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/vega10_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/vega10_smumgr.c index 15e1afa28018..219950882be9 100644 --- a/drivers/gpu/drm/amd/powerplay/smumgr/vega10_smumgr.c +++ b/drivers/gpu/drm/amd/powerplay/smumgr/vega10_smumgr.c @@ -406,9 +406,8 @@ static int vega10_smu_init(struct pp_hwmgr *hwmgr) &handle, &mc_addr, &kaddr); - if (ret) - return -EINVAL; + goto free_backend; priv->smu_tables.entry[PPTABLE].version = 0x01; priv->smu_tables.entry[PPTABLE].size = sizeof(PPTable_t); @@ -511,6 +510,9 @@ err0: amdgpu_bo_free_kernel(&priv->smu_tables.entry[PPTABLE].handle, &priv->smu_tables.entry[PPTABLE].mc_addr, &priv->smu_tables.entry[PPTABLE].table); +free_backend: + kfree(hwmgr->smu_backend); + return -EINVAL; }