radv: fix access to uninitialized radeon_bo_metadata
If the image tiling is set to VK_IMAGE_TILING_LINEAR,
buffer_set_metadata will read an uninitialized radeon_bo_metadata.
Signed-off-by: Simon Ser <contact@emersion.fr>
Fixes: d5fd8cd46e ("radv: Allow non-dedicated linear images and buffer.")
Cc: mesa-stable
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7898>
This commit is contained in:
@@ -5145,9 +5145,8 @@ bool radv_get_memory_fd(struct radv_device *device,
|
||||
{
|
||||
struct radeon_bo_metadata metadata;
|
||||
|
||||
if (memory->image) {
|
||||
if (memory->image->tiling != VK_IMAGE_TILING_LINEAR)
|
||||
radv_init_metadata(device, memory->image, &metadata);
|
||||
if (memory->image && memory->image->tiling != VK_IMAGE_TILING_LINEAR) {
|
||||
radv_init_metadata(device, memory->image, &metadata);
|
||||
device->ws->buffer_set_metadata(memory->bo, &metadata);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user