From 005135424994d80940b7fc2732d18836433b3803 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Mon, 22 Apr 2024 14:56:24 +0200 Subject: [PATCH] panvk: avoid dereferencing a null-pointer If we're passed a memory-info, but no memory-prop, we'd end up dereferencing a null-pointer here. Let's use a fallback struct instead, similar to what RADV does. Fixes: d970fe2e9d6 ("panfrost: Add a Vulkan driver for Midgard/Bifrost GPUs") CID: 1496060 Reviewed-by: Boris Brezillon Part-of: (cherry picked from commit 3b3df7b8a98c4171e402a7c4e7170b9d937aae09) --- .pick_status.json | 2 +- src/panfrost/vulkan/panvk_formats.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index d89d082445a..9c6b0a02aff 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1214,7 +1214,7 @@ "description": "panvk: avoid dereferencing a null-pointer", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "d970fe2e9d6a8e9997a0ce212146d62013b3b455", "notes": null diff --git a/src/panfrost/vulkan/panvk_formats.c b/src/panfrost/vulkan/panvk_formats.c index 956d4691677..3186b5dedff 100644 --- a/src/panfrost/vulkan/panvk_formats.c +++ b/src/panfrost/vulkan/panvk_formats.c @@ -414,6 +414,13 @@ panvk_GetPhysicalDeviceImageFormatProperties2( * present and VkExternalImageFormatProperties will be ignored. */ if (external_info && external_info->handleType != 0) { + VkExternalImageFormatProperties fallback_external_props; + + if (!external_props) { + memset(&fallback_external_props, 0, sizeof(fallback_external_props)); + external_props = &fallback_external_props; + } + result = panvk_get_external_image_format_properties( physical_device, base_info, external_info->handleType, &external_props->externalMemoryProperties);