Mesa (master): radv: avoid oob read during clear
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Jan 4 14:20:12 UTC 2021
Module: Mesa
Branch: master
Commit: 1a7b7b17ad0afbc53af9fa012880e6600a4399e4
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a7b7b17ad0afbc53af9fa012880e6600a4399e4
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date: Thu Dec 31 15:44:32 2020 -0500
radv: avoid oob read during clear
when clearing a depth/stencil image the passed colorvalue pointer is
smaller than the VkClearValue struct size
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8288>
---
src/amd/vulkan/radv_meta_clear.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/amd/vulkan/radv_meta_clear.c b/src/amd/vulkan/radv_meta_clear.c
index a3724d66126..3ac9aa71e62 100644
--- a/src/amd/vulkan/radv_meta_clear.c
+++ b/src/amd/vulkan/radv_meta_clear.c
@@ -2204,7 +2204,12 @@ radv_cmd_clear_image(struct radv_cmd_buffer *cmd_buffer,
bool cs)
{
VkFormat format = image->vk_format;
- VkClearValue internal_clear_value = *clear_value;
+ VkClearValue internal_clear_value;
+
+ if (image->aspects & VK_IMAGE_ASPECT_COLOR_BIT)
+ internal_clear_value.color = clear_value->color;
+ else
+ internal_clear_value.depthStencil = clear_value->depthStencil;
if (format == VK_FORMAT_E5B9G9R9_UFLOAT_PACK32) {
uint32_t value;
More information about the mesa-commit
mailing list