Module: Mesa Branch: master Commit: b5e2c58ad865be4d88e4d29b5461015a82633e78 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5e2c58ad865be4d88e4d29b5461015a82633e78
Author: Marcin Ślusarz <[email protected]> Date: Wed Oct 21 17:51:22 2020 +0200 anv: always annotate memory returned from anv_gem_mmap anv_bo_pool_alloc expects that the memory returned by and_gem_mmap was annotated using VALGRIND_MALLOCLIKE_BLOCK, but anv_gem_mmap_offset didn't do that. Move annotation from anv_gem_mmap_legacy to common code. Fixes: 4abf0837cdb ("anv: Add support for new MMAP_OFFSET ioctl.") Signed-off-by: Marcin Ślusarz <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7381> --- src/intel/vulkan/anv_gem.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/intel/vulkan/anv_gem.c b/src/intel/vulkan/anv_gem.c index fdc780cbb46..81e22428e18 100644 --- a/src/intel/vulkan/anv_gem.c +++ b/src/intel/vulkan/anv_gem.c @@ -105,7 +105,6 @@ anv_gem_mmap_legacy(struct anv_device *device, uint32_t gem_handle, if (ret != 0) return MAP_FAILED; - VG(VALGRIND_MALLOCLIKE_BLOCK(gem_mmap.addr_ptr, gem_mmap.size, 0, 1)); return (void *)(uintptr_t) gem_mmap.addr_ptr; } @@ -116,10 +115,16 @@ void* anv_gem_mmap(struct anv_device *device, uint32_t gem_handle, uint64_t offset, uint64_t size, uint32_t flags) { + void *map; if (device->physical->has_mmap_offset) - return anv_gem_mmap_offset(device, gem_handle, offset, size, flags); + map = anv_gem_mmap_offset(device, gem_handle, offset, size, flags); else - return anv_gem_mmap_legacy(device, gem_handle, offset, size, flags); + map = anv_gem_mmap_legacy(device, gem_handle, offset, size, flags); + + if (map != MAP_FAILED) + VG(VALGRIND_MALLOCLIKE_BLOCK(map, size, 0, 1)); + + return map; } /* This is just a wrapper around munmap, but it also notifies valgrind that @@ -128,8 +133,7 @@ anv_gem_mmap(struct anv_device *device, uint32_t gem_handle, void anv_gem_munmap(struct anv_device *device, void *p, uint64_t size) { - if (!device->physical->has_mmap_offset) - VG(VALGRIND_FREELIKE_BLOCK(p, 0)); + VG(VALGRIND_FREELIKE_BLOCK(p, 0)); munmap(p, size); } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
