Re: [PATCH 1/3] perf probe: Set retprobe flag when probe in address-based alternative mode

From: Arnaldo Carvalho de Melo
Date: Mon Apr 13 2015 - 12:06:04 EST


Em Tue, Apr 14, 2015 at 12:42:52AM +0900, Masami Hiramatsu escreveu:
> (2015/04/13 20:41), He Kuang wrote:
> > Perf probe misses to set retprobe flag back when falling back to
> > address-based alternative mode.
> >
> > Can be reproduced as following:
> >
> > $ perf probe -v -k vmlinux --add='sys_write%return'
> > ...
> > Added new event:
> > Writing event: p:probe/sys_write _stext+1584952
> > probe:sys_write (on sys_write%return)
> >
> > $ cat /sys/kernel/debug/tracing/kprobe_events
> > p:probe/sys_write _stext+1584952
> >
> > After this patch:
> >
> > $ perf probe -v -k vmlinux --add='sys_write%return'
> > Added new event:
> > Writing event: r:probe/sys_write SyS_write+0
> > probe:sys_write (on sys_write%return)
> >
> > $ cat /sys/kernel/debug/tracing/kprobe_events
> > r:probe/sys_write SyS_write
> >
> > Signed-off-by: He Kuang <hekuang@xxxxxxxxxx>
>
> Oops, I missed that!
>
> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
>
> Thank you!

Thanks to both of you, will add the extra comments from He and apply
after testing with a freshly build kernel with CONFIG_DEBUG_INFO=y.

- Arnaldo

> > ---
> > tools/perf/util/probe-event.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
> > index 30545ce..5483d98 100644
> > --- a/tools/perf/util/probe-event.c
> > +++ b/tools/perf/util/probe-event.c
> > @@ -332,6 +332,7 @@ static int find_alternative_probe_point(struct debuginfo *dinfo,
> > else {
> > result->offset += pp->offset;
> > result->line += pp->line;
> > + result->retprobe = pp->retprobe;
> > ret = 0;
> > }
> >
> >
>
>
> --
> Masami HIRAMATSU
> Linux Technology Research Center, System Productivity Research Dept.
> Center for Technology Innovation - Systems Engineering
> Hitachi, Ltd., Research & Development Group
> E-mail: masami.hiramatsu.pt@xxxxxxxxxxx
>
--
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/