From 746e76675d6a27a07de2d0ed906e8897c968b991 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Sat, 2 May 2020 22:43:22 +0300 Subject: [PATCH] iris: fix BO destruction in error path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Lionel Landwerlin Cc: Tested-by: Tapani Pälli Reviewed-by: Ian Romanick Reviewed-by: Kenneth Graunke Part-of: (cherry picked from commit 604a86e46f67b517e43c4646080ee1993ff95ecd) --- .pick_status.json | 2 +- src/gallium/drivers/iris/iris_bufmgr.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 0d2961a64a4..b331b3c8bf2 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1003,7 +1003,7 @@ "description": "iris: fix BO destruction in error path", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/gallium/drivers/iris/iris_bufmgr.c b/src/gallium/drivers/iris/iris_bufmgr.c index c333f7bdaee..825553b3e31 100644 --- a/src/gallium/drivers/iris/iris_bufmgr.c +++ b/src/gallium/drivers/iris/iris_bufmgr.c @@ -592,6 +592,7 @@ iris_bo_create_userptr(struct iris_bufmgr *bufmgr, const char *name, void *ptr, size_t size, enum iris_memory_zone memzone) { + struct drm_gem_close close = { 0, }; struct iris_bo *bo; bo = bo_calloc(); @@ -637,7 +638,8 @@ iris_bo_create_userptr(struct iris_bufmgr *bufmgr, const char *name, return bo; err_close: - gen_ioctl(bufmgr->fd, DRM_IOCTL_GEM_CLOSE, &bo->gem_handle); + close.handle = bo->gem_handle; + gen_ioctl(bufmgr->fd, DRM_IOCTL_GEM_CLOSE, &close); err_free: free(bo); return NULL;