mesa/src/virtio/vulkan
Yiwei Zhang f788c87d02 venus: fix a race condition between gem close and gem handle tracking
After using sparse array to manager virtgpu bo, we set gem_handle to 0
to indicate that the bo is invalid. However, the gem handle gets closed
before that and can be reused by another newly created bo, leading to
the tracked gem handle being unexpectedly zero'ed out.

Fixes: 88f481dd74 ("venus: make sure gem_handle and vn_renderer_bo are 1:1")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30362>
2024-07-25 18:13:21 +00:00
..
.clang-format
meson.build meson: add VK_DRIVER_FILES to devenv, alongside the old VK_ICD_FILENAMES 2024-04-02 18:08:52 +00:00
vn_android.c venus: support VK_ANDROID_NATIVE_BUFFER_SPEC_VERSION 8 2024-06-25 09:08:12 +00:00
vn_android.h venus: support VK_ANDROID_NATIVE_BUFFER_SPEC_VERSION 8 2024-06-25 09:08:12 +00:00
vn_buffer.c venus: drop internal memory pools 2024-05-24 02:34:45 +00:00
vn_buffer.h
vn_command_buffer.c venus: chain VkExternalMemoryAcquireUnmodifiedEXT for wsi ownership transfers 2024-07-10 18:57:27 +00:00
vn_command_buffer.h venus: deprecate unused perf env vars 2024-03-26 00:37:24 +00:00
vn_common.c venus: only request ring thread prio for TLS ring 2024-07-20 17:27:24 +00:00
vn_common.h venus: drop internal memory pools 2024-05-24 02:34:45 +00:00
vn_cs.c venus: ensure shmem is attached to renderer before use for guest vram 2024-03-15 01:51:16 +00:00
vn_cs.h venus: remove obsolete TODOs 2024-04-04 06:35:54 +00:00
vn_descriptor_set.c venus: initialize bitset in CreateDescriptorPool() 2024-07-21 17:44:05 +00:00
vn_descriptor_set.h venus: clean up legacy descriptor update template bits 2024-04-16 01:30:42 +00:00
vn_device.c venus: drop internal memory pools 2024-05-24 02:34:45 +00:00
vn_device.h venus: drop internal memory pools 2024-05-24 02:34:45 +00:00
vn_device_memory.c venus: simplify cached mem type emulation 2024-07-12 21:28:15 +00:00
vn_device_memory.h venus: drop internal memory pools 2024-05-24 02:34:45 +00:00
vn_feedback.c venus: defer qfb buffer init upon query being used 2024-06-04 22:39:30 +00:00
vn_feedback.h venus: rewrite qfb vn_feedback helpers 2024-03-14 23:40:44 +00:00
vn_icd.c
vn_icd.h
vn_image.c venus: clarify wsi image ownership 2024-07-23 02:58:41 +00:00
vn_image.h
vn_instance.c venus: only request ring thread prio for TLS ring 2024-07-20 17:27:24 +00:00
vn_instance.h venus: roundtrip now belongs to ring 2024-03-15 01:51:16 +00:00
vn_physical_device.c venus: simplify cached mem type emulation 2024-07-12 21:28:15 +00:00
vn_physical_device.h venus: simplify cached mem type emulation 2024-07-12 21:28:15 +00:00
vn_pipeline.c venus: Use common physical device properties 2024-05-16 01:58:14 +00:00
vn_pipeline.h
vn_query_pool.c venus: defer qfb buffer init upon query being used 2024-06-04 22:39:30 +00:00
vn_query_pool.h venus: defer qfb buffer init upon query being used 2024-06-04 22:39:30 +00:00
vn_queue.c venus: drop internal memory pools 2024-05-24 02:34:45 +00:00
vn_queue.h
vn_render_pass.c venus: enable VK_KHR_maintenance5 2024-05-22 18:15:34 +00:00
vn_render_pass.h
vn_renderer.h venus: directly use vk drm and pci props in renderer info 2024-05-16 01:58:14 +00:00
vn_renderer_internal.c
vn_renderer_internal.h
vn_renderer_util.c
vn_renderer_util.h
vn_renderer_virtgpu.c venus: fix a race condition between gem close and gem handle tracking 2024-07-25 18:13:21 +00:00
vn_renderer_vtest.c venus: directly use vk drm and pci props in renderer info 2024-05-16 01:58:14 +00:00
vn_ring.c venus: only request ring thread prio for TLS ring 2024-07-20 17:27:24 +00:00
vn_ring.h venus: only request ring thread prio for TLS ring 2024-07-20 17:27:24 +00:00
vn_wsi.c
vn_wsi.h