From 331a5c7646c967d1a5a6a650a21c731a03d7df97 Mon Sep 17 00:00:00 2001 From: Olivia Lee Date: Mon, 14 Jul 2025 11:45:47 -0700 Subject: [PATCH] panvk: add error checking for dump/trace mmap call Fixes: c257bf51427 ("panvk: Conditionally register an host address when tracking user memory") Signed-off-by: Olivia Lee Reviewed-by: Mary Guillemard Reviewed-by: Erik Faye-Lund Part-of: (cherry picked from commit 7dcac3d55bc667659687a2ff14b0de28d0ede8ae) --- .pick_status.json | 2 +- src/panfrost/vulkan/panvk_device_memory.c | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 4c259d4d0e0..62cd135a145 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -204,7 +204,7 @@ "description": "panvk: add error checking for dump/trace mmap call", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "c257bf514277ab51d30096cbf3c29c884561ae52", "notes": null diff --git a/src/panfrost/vulkan/panvk_device_memory.c b/src/panfrost/vulkan/panvk_device_memory.c index 76fdf3c0d08..f6244eec40d 100644 --- a/src/panfrost/vulkan/panvk_device_memory.c +++ b/src/panfrost/vulkan/panvk_device_memory.c @@ -147,9 +147,13 @@ panvk_AllocateMemory(VkDevice _device, if (device->debug.decode_ctx) { if (instance->debug_flags & (PANVK_DEBUG_DUMP | PANVK_DEBUG_TRACE)) { - mem->debug.host_mapping = - pan_kmod_bo_mmap(mem->bo, 0, pan_kmod_bo_size(mem->bo), - PROT_READ | PROT_WRITE, MAP_SHARED, NULL); + void *cpu = pan_kmod_bo_mmap(mem->bo, 0, pan_kmod_bo_size(mem->bo), + PROT_READ | PROT_WRITE, MAP_SHARED, NULL); + if (cpu != MAP_FAILED) + mem->debug.host_mapping = cpu; + else + vk_logw(VK_LOG_OBJS(_device), + "failed to map VkMemory for dump or trace.\n"); } pandecode_inject_mmap(device->debug.decode_ctx, mem->addr.dev,