Re: [PATCH] trace-cmd: Leave out absolute addresses to fix bogus symbol resolutions

From: Steven Rostedt
Date: Tue Sep 15 2015 - 13:00:52 EST


On Tue, 15 Sep 2015 18:30:22 +0200
Jan Kiszka <jan.kiszka@xxxxxxxxxxx> wrote:

> On 2015-07-31 16:04, Jan Kiszka wrote:
> > On x86, page_fault_* tracepoints report userspace address via kernel
> > symbols because all the per-cpu variable offsets are in kallsyms,
> > occupying the lower address space. Fix this by skipping over absolute
> > addresses while processing kallsyms.
> >
> > Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
> > ---
> > trace-util.c | 8 ++++++--
> > 1 file changed, 6 insertions(+), 2 deletions(-)
> >
> > diff --git a/trace-util.c b/trace-util.c
> > index 8a81dd0..da20e4c 100644
> > --- a/trace-util.c
> > +++ b/trace-util.c
> > @@ -434,8 +434,12 @@ void parse_proc_kallsyms(struct pevent *pevent,
> > if (mod)
> > mod[strlen(mod) - 1] = 0;
> >
> > - /* Hack for arm arch that adds a lot of bogus '$a' functions */
> > - if (func[0] != '$')
> > + /*
> > + * Hacks for
> > + * - arm arch that adds a lot of bogus '$a' functions
> > + * - x86-64 that reports per-cpu variable offsets as absolute
> > + */
> > + if (func[0] != '$' && ch != 'A')
> > pevent_register_function(pevent, func, addr, mod);
> > free(func);
> > free(mod);
> >
>
> Ping.

Thanks for the reminder ping.

Hmm, I don't see anything marked 'A' in my kallsyms. Have a config I
can test to see what you are seeing?

-- Steve

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/