anv: Fix a potential BO handle leak

Fixes: 731c4adcf9 "anv/allocator: Add support for non-userptr"
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
(cherry picked from commit bb257e1852)
This commit is contained in:
Jason Ekstrand 2019-10-25 15:42:22 -05:00 committed by Dylan Baker
parent 6d96ee8507
commit 3de8c6e8fb

View file

@ -532,9 +532,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