From 2b4ce498eef33d4516d67d086b566032b620bf48 Mon Sep 17 00:00:00 2001 From: David Heidelberg Date: Wed, 3 May 2023 16:57:03 +0200 Subject: [PATCH] panvk: clear dangling pointers Fixes: ``` [829/1646] Compiling C object src/panfrost/vulkan/libpanvk_v6.a.p/panvk_vX_meta_clear.c.o In function 'panvk_meta_clear_zs_img', inlined from 'panvk_v6_CmdClearDepthStencilImage' at ../src/panfrost/vulkan/panvk_vX_meta_clear.c:457:7: ../src/panfrost/vulkan/panvk_vX_meta_clear.c:415:26: warning: storing the address of local variable 'view' in '((struct pan_fb_info *)((char *)commandBuffer + 144))[23].zs.view.zs' [-Wdangling-pointer=] 415 | fbinfo->zs.view.zs = &view; | ~~~~~~~~~~~~~~~~~~~^~~~~~~ ../src/panfrost/vulkan/panvk_vX_meta_clear.c: In function 'panvk_v6_CmdClearDepthStencilImage': ../src/panfrost/vulkan/panvk_vX_meta_clear.c:393:26: note: 'view' declared here 393 | struct pan_image_view view = { | ^~~~ ../src/panfrost/vulkan/panvk_vX_meta_clear.c:393:26: note: 'commandBuffer' declared here [844/1646] Compiling C object src/panfrost/vulkan/libpanvk_v7.a.p/panvk_vX_meta_clear.c.o In function 'panvk_meta_clear_zs_img', inlined from 'panvk_v7_CmdClearDepthStencilImage' at ../src/panfrost/vulkan/panvk_vX_meta_clear.c:457:7: ../src/panfrost/vulkan/panvk_vX_meta_clear.c:415:26: warning: storing the address of local variable 'view' in '((struct pan_fb_info *)((char *)commandBuffer + 144))[23].zs.view.zs' [-Wdangling-pointer=] 415 | fbinfo->zs.view.zs = &view; | ~~~~~~~~~~~~~~~~~~~^~~~~~~ ../src/panfrost/vulkan/panvk_vX_meta_clear.c: In function 'panvk_v7_CmdClearDepthStencilImage': ../src/panfrost/vulkan/panvk_vX_meta_clear.c:393:26: note: 'view' declared here 393 | struct pan_image_view view = { | ^~~~ ../src/panfrost/vulkan/panvk_vX_meta_clear.c:393:26: note: 'commandBuffer' declared here ``` Cc: mesa-stable Suggested-by: Boris Brezillon Reviewed-by: Boris Brezillon Signed-off-by: David Heidelberg Part-of: --- src/panfrost/vulkan/panvk_vX_meta_clear.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/panfrost/vulkan/panvk_vX_meta_clear.c b/src/panfrost/vulkan/panvk_vX_meta_clear.c index 2440d55..f61e8cc 100644 --- a/src/panfrost/vulkan/panvk_vX_meta_clear.c +++ b/src/panfrost/vulkan/panvk_vX_meta_clear.c @@ -440,6 +440,8 @@ panvk_meta_clear_zs_img(struct panvk_cmd_buffer *cmdbuf, panvk_per_arch(cmd_close_batch)(cmdbuf); } } + + memset(fbinfo, 0, sizeof(*fbinfo)); } void -- 2.7.4