perf probe: Fix getting the kernel map
Since commit4d99e41365
("perf machine: Workaround missing maps for x86 PTI entry trampolines"), perf tools has been creating more than one kernel map, however 'perf probe' assumed there could be only one. Fix by using machine__kernel_map() to get the main kernel map. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Tested-by: Joseph Qi <joseph.qi@linux.alibaba.com> Acked-by: Masami Hiramatsu <mhiramat@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andy Lutomirski <luto@kernel.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Jiufei Xue <jiufei.xue@linux.alibaba.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: stable@vger.kernel.org Cc: Xu Yu <xuyu@linux.alibaba.com> Fixes:4d99e41365
("perf machine: Workaround missing maps for x86 PTI entry trampolines") Fixes:d83212d5dd
("kallsyms, x86: Export addresses of PTI entry trampolines") Link: http://lkml.kernel.org/r/2ed432de-e904-85d2-5c36-5897ddc5b23b@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
2a1292cbd4
commit
eaeffeb983
@ -160,8 +160,10 @@ static struct map *kernel_get_module_map(const char *module)
|
||||
if (module && strchr(module, '/'))
|
||||
return dso__new_map(module);
|
||||
|
||||
if (!module)
|
||||
module = "kernel";
|
||||
if (!module) {
|
||||
pos = machine__kernel_map(host_machine);
|
||||
return map__get(pos);
|
||||
}
|
||||
|
||||
for (pos = maps__first(maps); pos; pos = map__next(pos)) {
|
||||
/* short_name is "[module]" */
|
||||
|
Loading…
Reference in New Issue
Block a user