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 venus: clang format fixes 2024-01-03 07:16:23 +00:00
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 venus: rename buffer cache to buffer reqs cache 2024-01-11 01:40:06 +00:00
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 venus: clang format fixes 2024-01-03 07:16:23 +00:00
vn_icd.h
vn_image.c venus: clarify wsi image ownership 2024-07-23 02:58:41 +00:00
vn_image.h venus: add LRU cache eviction for image mem reqs cache 2024-01-11 01:40:06 +00:00
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 venus: Add enum vn_pipeline_type 2023-10-18 12:12:17 -07:00
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 venus: refactor semaphore feedback 2024-02-26 21:54:36 +00:00
vn_render_pass.c venus: enable VK_KHR_maintenance5 2024-05-22 18:15:34 +00:00
vn_render_pass.h venus: Use VkImageAspectFlags in vn_subpass 2023-10-18 12:12:17 -07:00
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 venus: enable renderer shmem cache dump for cache debug 2023-12-08 04:06:37 +00:00
vn_renderer_internal.h venus: enable renderer shmem cache dump for cache debug 2023-12-08 04:06:37 +00:00
vn_renderer_util.c venus: make vn_renderer_shmem_pool thread-safe 2023-12-08 04:06:37 +00:00
vn_renderer_util.h venus: make vn_renderer_shmem_pool thread-safe 2023-12-08 04:06:37 +00:00
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 venus: make tls hint specific to pipeline creation 2024-01-11 06:05:01 +00:00
vn_wsi.h venus: remove redundant abstractions for wsi struct search 2023-02-28 04:56:14 +00:00