Yeah, we already documented the dma_fence_array() behavior on that function.

But having another comment here would probably be a good idea.

Christian.

Am 23.09.19 um 14:35 schrieb Deucher, Alexander:
Maybe add a comment here in the code to avoid confusion in the future.

Alex
________________________________
From: Koenig, Christian 
<christian.koe...@amd.com><mailto:christian.koe...@amd.com>
Sent: Saturday, September 21, 2019 7:32 AM
To: Navid Emamdoost 
<navid.emamdo...@gmail.com><mailto:navid.emamdo...@gmail.com>
Cc: emamd...@umn.edu<mailto:emamd...@umn.edu> 
<emamd...@umn.edu><mailto:emamd...@umn.edu>; 
smcca...@umn.edu<mailto:smcca...@umn.edu> 
<smcca...@umn.edu><mailto:smcca...@umn.edu>; k...@umn.edu<mailto:k...@umn.edu> 
<k...@umn.edu><mailto:k...@umn.edu>; Deucher, Alexander 
<alexander.deuc...@amd.com><mailto:alexander.deuc...@amd.com>; Zhou, 
David(ChunMing) <david1.z...@amd.com><mailto:david1.z...@amd.com>; David Airlie 
<airl...@linux.ie><mailto:airl...@linux.ie>; Daniel Vetter 
<dan...@ffwll.ch><mailto:dan...@ffwll.ch>; Sam Ravnborg 
<s...@ravnborg.org><mailto:s...@ravnborg.org>; Rex Zhu 
<rex....@amd.com><mailto:rex....@amd.com>; 
amd-...@lists.freedesktop.org<mailto:amd-...@lists.freedesktop.org> 
<amd-...@lists.freedesktop.org><mailto:amd-...@lists.freedesktop.org>; 
dri-devel@lists.freedesktop.org<mailto:dri-devel@lists.freedesktop.org> 
<dri-devel@lists.freedesktop.org><mailto:dri-devel@lists.freedesktop.org>; 
linux-ker...@vger.kernel.org<mailto:linux-ker...@vger.kernel.org> 
<linux-ker...@vger.kernel.org><mailto:linux-ker...@vger.kernel.org>
Subject: Re: [PATCH] drm/amdgpu: release allocated memory

Am 21.09.19 um 00:49 schrieb Navid Emamdoost:
> In amdgpu_vmid_grab_idle, fences is being leaked in one execution path.
> The missing kfree was added.

NAK, the array is freed by the dma_fence_array.  This is a double free.

Regards,
Christian.

>
> Signed-off-by: Navid Emamdoost 
> <navid.emamdo...@gmail.com><mailto:navid.emamdo...@gmail.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c
> index 57b3d8a9bef3..9063cd36fa94 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c
> @@ -244,6 +244,7 @@ static int amdgpu_vmid_grab_idle(struct amdgpu_vm *vm,
>                r = amdgpu_sync_fence(adev, sync, &array->base, false);
>                dma_fence_put(ring->vmid_wait);
>                ring->vmid_wait = &array->base;
> +             kfree(fences);
>                return r;
>        }
>        kfree(fences);


_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to