[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240627213619.718-2-cachen@purestorage.com>
Date: Thu, 27 Jun 2024 15:36:18 -0600
From: Casey Chen <cachen@...estorage.com>
To: linux-perf-users@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: yzhong@...estorage.com,
Casey Chen <cachen@...estorage.com>
Subject: [PATCH] perf probe: fix missing references to maps and map in thread__find_map
With 0dd5041c9a0e ("perf addr_location: Add init/exit/copy functions"),
thread__find_map() would return with al->maps being NULL when cpumode is 3
(macro PERF_RECORD_MISC_HYPERVISOR), later dereferencing on it would crash.
Fix is to add back the reference to maps and map.
---
tools/perf/util/event.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
index f32f9abf6344..259cb137e5bb 100644
--- a/tools/perf/util/event.c
+++ b/tools/perf/util/event.c
@@ -638,6 +638,8 @@ struct map *thread__find_map(struct thread *thread, u8 cpumode, u64 addr,
!perf_host)
al->filtered |= (1 << HIST_FILTER__HOST);
+ al->maps = maps__get(maps);
+ al->map = maps__find(maps, al->addr);
return NULL;
}
al->maps = maps__get(maps);
--
2.45.2
Powered by blists - more mailing lists