From e899bc8be8cb725ca7a4a76ffccf2888db3db751 Mon Sep 17 00:00:00 2001 From: Olivia Lee Date: Fri, 14 Nov 2025 20:29:26 -0800 Subject: [PATCH] panvk/csf: fix uninitialized read in draw context We check fn_set_fbds_provoking_vertex_stride == 0 to determine whether a previous function variant has already been allocated, so this value must be initialized to zero before we start the loop. We could fix this by explicitly initializing just that field, but I figure it's simpler and safer to just zero-initialize the whole struct. Signed-off-by: Olivia Lee Fixes: 885805560f9 ("panvk/csf: fix case where vk_meta is used before PROVOKING_VERTEX_MODE_LAST") Reviewed-by: Eric R. Smith Reviewed-by: Boris Brezillon Part-of: --- src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c b/src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c index 86fdc6f97ab..472a9ce47a4 100644 --- a/src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c +++ b/src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c @@ -137,7 +137,7 @@ calc_fn_set_fbds_provoking_vertex_idx(struct panvk_cmd_buffer *cmdbuf) VkResult panvk_per_arch(device_draw_context_init)(struct panvk_device *dev) { - dev->draw_ctx = vk_alloc(&dev->vk.alloc, + dev->draw_ctx = vk_zalloc(&dev->vk.alloc, sizeof(struct panvk_device_draw_context), _Alignof(struct panvk_device_draw_context), VK_SYSTEM_ALLOCATION_SCOPE_DEVICE);