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.zh...@amd.com>

Reviewed-by: Christian König <christian.koe...@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);

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to