On 08/14/2018 04:26 PM, Christian König wrote: > 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? Yes, so prepared them here again :) (BTW, thanks for your support about last patches in libdrm.) Regards, Jerry > > 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); >