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);