From f81915585dfed7bde70cc9f64f95e29c89af6e98 Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Fri, 12 Aug 2022 15:57:05 -0700 Subject: [PATCH] venus: Fix failure path on pipeline creation It's not sufficient to vk_free() the pipeline. We must also vn_object_base_fini(). Signed-off-by: Chad Versace Reviewed-by: Yiwei Zhang Reviewed-by: Ryan Neph Part-of: --- src/virtio/vulkan/vn_pipeline.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/virtio/vulkan/vn_pipeline.c b/src/virtio/vulkan/vn_pipeline.c index 7b4b0f95cc8..c2396d63465 100644 --- a/src/virtio/vulkan/vn_pipeline.c +++ b/src/virtio/vulkan/vn_pipeline.c @@ -259,7 +259,9 @@ vn_create_pipeline_handles(struct vn_device *dev, if (!pipeline) { for (uint32_t j = 0; j < i; j++) { - vk_free(alloc, pipeline_handles[j]); + pipeline = vn_pipeline_from_handle(pipeline_handles[j]); + vn_object_base_fini(&pipeline->base); + vk_free(alloc, pipeline); } memset(pipeline_handles, 0,