4.19-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Adrian Hunter <[email protected]>

commit eaeffeb9838a7c0dec981d258666bfcc0fa6a947 upstream.

Since commit 4d99e4136580 ("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 <[email protected]>
Tested-by: Joseph Qi <[email protected]>
Acked-by: Masami Hiramatsu <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Jiufei Xue <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: Xu Yu <[email protected]>
Fixes: 4d99e4136580 ("perf machine: Workaround missing maps for x86 PTI entry 
trampolines")
Fixes: d83212d5dd67 ("kallsyms, x86: Export addresses of PTI entry trampolines")
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 tools/perf/util/probe-event.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -157,8 +157,10 @@ static struct map *kernel_get_module_map
        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]" */


Reply via email to