Subject: Re: [PATCH] Remove kretprobe_trampoline_holder.

From: Thiago Jung Bauermann <[email-masked]>
Date: Wed, 30 Mar 2016 15:38:07 -0300

Am Mittwoch, 30 März 2016, 20:09:36 schrieb Michael Ellerman:
> On Wed, 2016-03-30 at 13:34 +0530, Naveen N. Rao wrote:
> > On 2016/03/29 08:35PM, Thiago Jung Bauermann wrote:
> > > Am Dienstag, 29 März 2016, 14:31:34 schrieb Michael Ellerman:
> > > > On Mon, 2016-03-28 at 17:06 -0300, Thiago Jung Bauermann wrote:
> > > > > With this patch, all vmlinux symbols match /proc/kallsyms and the
> > > > > testcase passes.
> > > > 
> > > > Have you tested this on an LE system?
> > > 
> > > No, I was focusing on ppc64 BE.
> > 
> > Which kernel did you use? I don't see this with the latest 4.6.0-rc1.
> 
> Yeah I can't reproduce the perf test failure either.

I can still reproduce on 4.6.0-rc1.

> Not sure what's going on?

Try disabling CONFIG_FUNCTION_TRACER. The test failure happens when .kretprobe_trampoline_holder and
kretprobe_trampoline have the same address. If that option is enabled, the symbols have different addresses:

$ eu-readelf -s /boot/vmlinux-4.6.0-rc1-dirty | grep kretprobe_tramp                                                    
 2479: c000000000ef1d68     24 NOTYPE  LOCAL  DEFAULT       37 kretprobe_trampoline_holder
 2480: c000000000043ab0     40 FUNC    LOCAL  DEFAULT        1 .kretprobe_trampoline_holder
86903: c000000000043ac4      0 NOTYPE  GLOBAL DEFAULT        1 kretprobe_trampoline
$ grep kretprobe_tramp /proc/kallsyms
c000000000043ab0 t .kretprobe_trampoline_holder
c000000000043ac4 T kretprobe_trampoline
c000000000ef1d68 d kretprobe_trampoline_holder

-- 
[]'s
Thiago Jung Bauermann
IBM Linux Technology Center