2021-11-15 02:59:39

by 赵军奎

[permalink] [raw]
Subject: [PATCH] drm/amd/amdgpu: fix potential memleak

In function amdgpu_get_xgmi_hive, when kobject_init_and_add failed
There is a potential memleak if not call kobject_put.

Signed-off-by: Bernard Zhao <[email protected]>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
index 0fad2bf854ae..567df2db23ac 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
@@ -386,6 +386,7 @@ struct amdgpu_hive_info *amdgpu_get_xgmi_hive(struct amdgpu_device *adev)
"%s", "xgmi_hive_info");
if (ret) {
dev_err(adev->dev, "XGMI: failed initializing kobject for xgmi hive\n");
+ kobject_put(&hive->kobj);
kfree(hive);
hive = NULL;
goto pro_end;
--
2.33.1



2021-11-15 15:57:02

by Felix Kuehling

[permalink] [raw]
Subject: Re: [PATCH] drm/amd/amdgpu: fix potential memleak

Am 2021-11-14 um 9:58 p.m. schrieb Bernard Zhao:
> In function amdgpu_get_xgmi_hive, when kobject_init_and_add failed
> There is a potential memleak if not call kobject_put.
>
> Signed-off-by: Bernard Zhao <[email protected]>

Reviewed-by: Felix Kuehling <[email protected]>


> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> index 0fad2bf854ae..567df2db23ac 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> @@ -386,6 +386,7 @@ struct amdgpu_hive_info *amdgpu_get_xgmi_hive(struct amdgpu_device *adev)
> "%s", "xgmi_hive_info");
> if (ret) {
> dev_err(adev->dev, "XGMI: failed initializing kobject for xgmi hive\n");
> + kobject_put(&hive->kobj);
> kfree(hive);
> hive = NULL;
> goto pro_end;

2021-11-17 21:35:13

by Alex Deucher

[permalink] [raw]
Subject: Re: [PATCH] drm/amd/amdgpu: fix potential memleak

Applied. Thanks!

Alex

On Mon, Nov 15, 2021 at 10:56 AM Felix Kuehling <[email protected]> wrote:
>
> Am 2021-11-14 um 9:58 p.m. schrieb Bernard Zhao:
> > In function amdgpu_get_xgmi_hive, when kobject_init_and_add failed
> > There is a potential memleak if not call kobject_put.
> >
> > Signed-off-by: Bernard Zhao <[email protected]>
>
> Reviewed-by: Felix Kuehling <[email protected]>
>
>
> > ---
> > drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> > index 0fad2bf854ae..567df2db23ac 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> > @@ -386,6 +386,7 @@ struct amdgpu_hive_info *amdgpu_get_xgmi_hive(struct amdgpu_device *adev)
> > "%s", "xgmi_hive_info");
> > if (ret) {
> > dev_err(adev->dev, "XGMI: failed initializing kobject for xgmi hive\n");
> > + kobject_put(&hive->kobj);
> > kfree(hive);
> > hive = NULL;
> > goto pro_end;