Re: [PATCH] perf probe: Fix getting the kernel map

From: Masami Hiramatsu
Date: Mon Mar 11 2019 - 05:25:45 EST


On Fri, 8 Mar 2019 11:39:26 -0300
Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:

> Em Mon, Mar 04, 2019 at 03:13:21PM +0200, Adrian Hunter escreveu:
> > 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.
>
> Masami, can I get your Acked-by?

Yes, this looks good to me :)

Acked-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>

Thank you Adrian!

>
> - Arnaldo
>
> > Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> > Fixes: 4d99e4136580 ("perf machine: Workaround missing maps for x86 PTI entry trampolines")
> > Fixes: d83212d5dd67 ("kallsyms, x86: Export addresses of PTI entry trampolines")
> > Tested-by: Joseph Qi <joseph.qi@xxxxxxxxxxxxxxxxx>
> > Cc: stable@xxxxxxxxxxxxxxx
> > ---
> > tools/perf/util/probe-event.c | 6 ++++--
> > 1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
> > index e86f8be89157..6cd96f9b346d 100644
> > --- 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(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]" */
> > --
> > 2.19.1
>
> --
>
> - Arnaldo


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>