From bb257e1852473e3bc49bb9e0fe014741894f7bd0 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Fri, 25 Oct 2019 15:42:22 -0500 Subject: [PATCH] anv: Fix a potential BO handle leak Fixes: 731c4adcf9b "anv/allocator: Add support for non-userptr" Reviewed-by: Lionel Landwerlin --- src/intel/vulkan/anv_allocator.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/intel/vulkan/anv_allocator.c b/src/intel/vulkan/anv_allocator.c index 7cfca6ea808..80c2c6f3368 100644 --- a/src/intel/vulkan/anv_allocator.c +++ b/src/intel/vulkan/anv_allocator.c @@ -534,9 +534,11 @@ anv_block_pool_expand_range(struct anv_block_pool *pool, if (use_softpin) { gem_handle = anv_gem_create(pool->device, newbo_size); map = anv_gem_mmap(pool->device, gem_handle, 0, newbo_size, 0); - if (map == MAP_FAILED) + if (map == MAP_FAILED) { + anv_gem_close(pool->device, gem_handle); return vk_errorf(pool->device->instance, pool->device, VK_ERROR_MEMORY_MAP_FAILED, "gem mmap failed: %m"); + } assert(center_bo_offset == 0); } else { /* Just leak the old map until we destroy the pool. We can't munmap it -- 2.30.2