From: Bernard Zhao <bernard@vivo.com> To: "Alex Deucher" <alexander.deucher@amd.com>, "Christian König" <christian.koenig@amd.com>, "David (ChunMing) Zhou" <David1.Zhou@amd.com>, "David Airlie" <airlied@linux.ie>, "Daniel Vetter" <daniel@ffwll.ch>, "Tom St Denis" <tom.stdenis@amd.com>, "Ori Messinger" <Ori.Messinger@amd.com>, "Sam Ravnborg" <sam@ravnborg.org>, "Bernard Zhao" <bernard@vivo.com>, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: opensource.kernel@vivo.com Subject: [PATCH] amdgpu: fixes memleak issue when init failed Date: Tue, 21 Apr 2020 04:17:13 -0700 [thread overview] Message-ID: <20200421111715.1231-1-bernard@vivo.com> (raw) VRAM manager and DRM MM when init failed, there is no operaction to free kzalloc memory & remove device file. This will lead to memleak & cause stability issue. Signed-off-by: Bernard Zhao <bernard@vivo.com> --- drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c | 24 ++++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c index 82a3299e53c0..4c5fb153e6b4 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c @@ -175,30 +175,44 @@ static int amdgpu_vram_mgr_init(struct ttm_mem_type_manager *man, ret = device_create_file(adev->dev, &dev_attr_mem_info_vram_total); if (ret) { DRM_ERROR("Failed to create device file mem_info_vram_total\n"); - return ret; + goto VRAM_TOTAL_FAIL; } ret = device_create_file(adev->dev, &dev_attr_mem_info_vis_vram_total); if (ret) { DRM_ERROR("Failed to create device file mem_info_vis_vram_total\n"); - return ret; + goto VIS_VRAM_TOTA_FAIL; } ret = device_create_file(adev->dev, &dev_attr_mem_info_vram_used); if (ret) { DRM_ERROR("Failed to create device file mem_info_vram_used\n"); - return ret; + goto VRAM_USED_FAIL; } ret = device_create_file(adev->dev, &dev_attr_mem_info_vis_vram_used); if (ret) { DRM_ERROR("Failed to create device file mem_info_vis_vram_used\n"); - return ret; + goto VIS_VRAM_USED_FAIL; } ret = device_create_file(adev->dev, &dev_attr_mem_info_vram_vendor); if (ret) { DRM_ERROR("Failed to create device file mem_info_vram_vendor\n"); - return ret; + goto VRAM_VERDOR_FAIL; } return 0; + +VRAM_VERDOR_FAIL: + device_remove_file(adev->dev, &dev_attr_mem_info_vis_vram_used); +VIS_VRAM_USED_FAIL: + device_remove_file(adev->dev, &dev_attr_mem_info_vram_used); +RVAM_USED_FAIL: + device_remove_file(adev->dev, &dev_attr_mem_info_vis_vram_total); +VIS_VRAM_TOTA_FAIL: + device_remove_file(adev->dev, &dev_attr_mem_info_vram_total); +VRAM_TOTAL_FAIL: + kfree(mgr); + man->priv = NULL; + + return ret; } /** -- 2.26.2
next reply other threads:[~2020-04-21 11:17 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-04-21 11:17 Bernard Zhao [this message] 2020-04-21 11:22 ` Christian König 2020-04-21 12:09 ` 赵军奎 2020-04-21 13:02 ` Christian König 2020-04-21 13:39 ` 赵军奎 2020-04-21 14:53 ` Christian König 2020-04-22 0:56 ` 赵军奎 2020-04-22 7:27 ` Christian König 2020-04-22 15:51 ` Ruhl, Michael J 2020-04-22 18:28 ` Christian König
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200421111715.1231-1-bernard@vivo.com \ --to=bernard@vivo.com \ --cc=David1.Zhou@amd.com \ --cc=Ori.Messinger@amd.com \ --cc=airlied@linux.ie \ --cc=alexander.deucher@amd.com \ --cc=amd-gfx@lists.freedesktop.org \ --cc=christian.koenig@amd.com \ --cc=daniel@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=linux-kernel@vger.kernel.org \ --cc=opensource.kernel@vivo.com \ --cc=sam@ravnborg.org \ --cc=tom.stdenis@amd.com \ --subject='Re: [PATCH] amdgpu: fixes memleak issue when init failed' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).