Module: Mesa Branch: main Commit: 2641b8d1e0e7b336de031226faf962753ae4ed9a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2641b8d1e0e7b336de031226faf962753ae4ed9a
Author: José Roberto de Souza <[email protected]> Date: Tue Oct 3 08:54:35 2023 -0700 iris: Lock bufmgr->lock before call vma_free() in error path vma_free() requires that bufmgr->lock is held. Signed-off-by: José Roberto de Souza <[email protected]> Reviewed-by: Paulo Zanoni <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25571> --- src/gallium/drivers/iris/iris_bufmgr.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gallium/drivers/iris/iris_bufmgr.c b/src/gallium/drivers/iris/iris_bufmgr.c index be728be918a..e7e55049f36 100644 --- a/src/gallium/drivers/iris/iris_bufmgr.c +++ b/src/gallium/drivers/iris/iris_bufmgr.c @@ -1248,7 +1248,9 @@ iris_bo_alloc(struct iris_bufmgr *bufmgr, return bo; err_vm_alloc: + simple_mtx_lock(&bufmgr->lock); vma_free(bufmgr, bo->address, bo->size); + simple_mtx_unlock(&bufmgr->lock); err_free: simple_mtx_lock(&bufmgr->lock); bo_free(bo); @@ -1324,7 +1326,9 @@ iris_bo_create_userptr(struct iris_bufmgr *bufmgr, const char *name, return bo; err_vma_free: + simple_mtx_lock(&bufmgr->lock); vma_free(bufmgr, bo->address, bo->size); + simple_mtx_unlock(&bufmgr->lock); err_close: bufmgr->kmd_backend->gem_close(bufmgr, bo); err_free:
