Mesa (staging/18.3): winsys/amdgpu: fix a buffer leak in amdgpu_bo_from_handle

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Nov 26 16:09:45 UTC 2018


Module: Mesa
Branch: staging/18.3
Commit: a941399117c3706aeb31b11f28a3332d9fca83b7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a941399117c3706aeb31b11f28a3332d9fca83b7

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Nov 19 18:12:12 2018 -0500

winsys/amdgpu: fix a buffer leak in amdgpu_bo_from_handle

Cc: 18.2 18.3 <mesa-stable at lists.freedesktop.org>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
(cherry picked from commit 82aa07f81fcc5ed696eea16f48cec7e39c3cd3d1)

---

 src/gallium/winsys/amdgpu/drm/amdgpu_bo.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c b/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c
index 68f0562a64..f108058052 100644
--- a/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c
+++ b/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c
@@ -1310,6 +1310,12 @@ static struct pb_buffer *amdgpu_bo_from_handle(struct radeon_winsys *rws,
    if (bo) {
       p_atomic_inc(&bo->base.reference.count);
       simple_mtx_unlock(&ws->bo_export_table_lock);
+
+      /* Release the buffer handle, because we don't need it anymore.
+       * This function is returning an existing buffer, which has its own
+       * handle.
+       */
+      amdgpu_bo_free(result.buf_handle);
       return &bo->base;
    }
 




More information about the mesa-commit mailing list