From 5b3f4cf6f88b6dcd787327ac7478bb73afece774 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 15 Aug 2023 14:19:09 -0400 Subject: [PATCH] asahi/decode: Turn assert into error To allow us to debug broken fetches. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/asahi/lib/decode.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/asahi/lib/decode.c b/src/asahi/lib/decode.c index bb43fc4d12e..07b1c86af9a 100644 --- a/src/asahi/lib/decode.c +++ b/src/asahi/lib/decode.c @@ -229,7 +229,16 @@ __agxdecode_fetch_gpu_mem(const struct agx_bo *mem, uint64_t gpu_va, } assert(mem); - assert(size + (gpu_va - mem->ptr.gpu) <= mem->size); + + if (size + (gpu_va - mem->ptr.gpu) > mem->size) { + fprintf(stderr, + "Overflowing to unknown memory %" PRIx64 + " of size %zu (max size %zu) in %s:%d\n", + gpu_va, size, mem->size - (gpu_va - mem->ptr.gpu), filename, + line); + fflush(agxdecode_dump_stream); + assert(0); + } memcpy(buf, mem->ptr.cpu + gpu_va - mem->ptr.gpu, size);