diff --git a/src/intel/vulkan/i915/anv_kmd_backend.c b/src/intel/vulkan/i915/anv_kmd_backend.c index f89b096f0fa..4cebb48e02e 100644 --- a/src/intel/vulkan/i915/anv_kmd_backend.c +++ b/src/intel/vulkan/i915/anv_kmd_backend.c @@ -187,10 +187,12 @@ i915_gem_mmap_offset(struct anv_device *device, struct anv_bo *bo, if (ptr == MAP_FAILED) return ptr; + void *ret = ptr + offset; + if (offset != 0) munmap(ptr, offset); - return ptr + offset; + return ret; } static void * diff --git a/src/intel/vulkan/xe/anv_kmd_backend.c b/src/intel/vulkan/xe/anv_kmd_backend.c index c13352d6ad6..458b797d83b 100644 --- a/src/intel/vulkan/xe/anv_kmd_backend.c +++ b/src/intel/vulkan/xe/anv_kmd_backend.c @@ -131,10 +131,12 @@ xe_gem_mmap(struct anv_device *device, struct anv_bo *bo, uint64_t offset, if (ptr == MAP_FAILED) return ptr; + void *ret = ptr + offset; + if (offset != 0) munmap(ptr, offset); - return ptr + offset; + return ret; } static inline uint32_t