From e984faec268dbf3e1f6ddc5b3c5de57499e50b33 Mon Sep 17 00:00:00 2001 From: Valentine Burley Date: Thu, 19 Mar 2026 20:01:13 +0100 Subject: [PATCH] tu/drm/virtio: Fix GEM handle leak in tu_bo_init error path In tu_bo_init, if growing the submit BO list fails, the GEM handle must be closed. However, bo->gem_handle is only populated later via compound assignment. Use the gem_handle parameter directly to ensure the correct handle is closed and not leaked. Fixes: d67d501af46 ("tu/drm/virtio: Switch to vdrm helper") Signed-off-by: Valentine Burley (cherry picked from commit 316d9b02098598c5671ddab2f649c279117f7989) Part-of: --- .pick_status.json | 2 +- src/freedreno/vulkan/tu_knl_drm_virtio.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 5de108b4d4c..c7ec3f98c52 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -3834,7 +3834,7 @@ "description": "tu/drm/virtio: Fix GEM handle leak in tu_bo_init error path", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "d67d501af46f04bf12a16110f3a1e86b565cac96", "notes": null diff --git a/src/freedreno/vulkan/tu_knl_drm_virtio.cc b/src/freedreno/vulkan/tu_knl_drm_virtio.cc index af93ad3d015..f3dc823aca4 100644 --- a/src/freedreno/vulkan/tu_knl_drm_virtio.cc +++ b/src/freedreno/vulkan/tu_knl_drm_virtio.cc @@ -593,7 +593,7 @@ tu_bo_init(struct tu_device *dev, if (!new_ptr) { dev->submit_bo_count--; mtx_unlock(&dev->bo_mutex); - vdrm_bo_close(dev->vdev->vdrm, bo->gem_handle); + vdrm_bo_close(dev->vdev->vdrm, gem_handle); return VK_ERROR_OUT_OF_HOST_MEMORY; }