[PATCH libdrm 1/2] amdgpu: free flink bo in bo import

Christian König christian.koenig at amd.com
Tue Aug 14 08:26:46 UTC 2018


Am 14.08.2018 um 05:00 schrieb Junwei Zhang:
> Fix potential memory leak when handle flink bo in bo import.
> Free the flink bo after bo import and in error handling.
>
> Signed-off-by: Junwei Zhang <Jerry.Zhang at amd.com>

Reviewed-by: Christian König <christian.koenig at amd.com> for the series.

I assume you don't have commit rights to the upstream repository?

Christian.

> ---
>   amdgpu/amdgpu_bo.c | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/amdgpu/amdgpu_bo.c b/amdgpu/amdgpu_bo.c
> index b790e9b..d9556ec 100644
> --- a/amdgpu/amdgpu_bo.c
> +++ b/amdgpu/amdgpu_bo.c
> @@ -255,6 +255,7 @@ int amdgpu_bo_import(amdgpu_device_handle dev,
>   		     struct amdgpu_bo_import_result *output)
>   {
>   	struct drm_gem_open open_arg = {};
> +	struct drm_gem_close close_arg = {};
>   	struct amdgpu_bo *bo = NULL;
>   	int r;
>   	int dma_fd;
> @@ -342,15 +343,19 @@ int amdgpu_bo_import(amdgpu_device_handle dev,
>   
>   		bo->handle = open_arg.handle;
>   		if (dev->flink_fd != dev->fd) {
> +			close_arg.handle = open_arg.handle;
>   			r = drmPrimeHandleToFD(dev->flink_fd, bo->handle, DRM_CLOEXEC, &dma_fd);
>   			if (r) {
>   				free(bo);
> +				drmIoctl(dev->flink_fd, DRM_IOCTL_GEM_CLOSE,
> +					 &close_arg);
>   				pthread_mutex_unlock(&dev->bo_table_mutex);
>   				return r;
>   			}
>   			r = drmPrimeFDToHandle(dev->fd, dma_fd, &bo->handle );
>   
>   			close(dma_fd);
> +			drmIoctl(dev->flink_fd, DRM_IOCTL_GEM_CLOSE, &close_arg);
>   
>   			if (r) {
>   				free(bo);



More information about the amd-gfx mailing list