diff options
author | Marek Olšák <[email protected]> | 2018-11-19 18:12:12 -0500 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2018-11-23 17:08:42 -0500 |
commit | 82aa07f81fcc5ed696eea16f48cec7e39c3cd3d1 (patch) | |
tree | a60cc3c43712ce13450bb7d0a4286ae5f6f62412 /src/gallium/winsys/amdgpu | |
parent | 9fc1ce258cf956d21a9d4940a3c10c5547d93408 (diff) |
winsys/amdgpu: fix a buffer leak in amdgpu_bo_from_handle
Cc: 18.2 18.3 <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Diffstat (limited to 'src/gallium/winsys/amdgpu')
-rw-r--r-- | src/gallium/winsys/amdgpu/drm/amdgpu_bo.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c b/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c index f49fb47b80e..3ee38b8a79f 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; } |