>From: Arnaldo Carvalho de Melo [mailto:[email protected]]

>Em Tue, Nov 24, 2015 at 11:54:24AM -0300, Arnaldo Carvalho de Melo escreveu:
>> Em Tue, Nov 24, 2015 at 12:18:22PM +0100, Michael Petlan escreveu:
>> > I have been playing with perf-probe tool and I found out that some bogus
>> > values of a function argument are obtained by perf-record.
>
>> > How to reproduce:
>
>> > gcc -O0 -g -o dummy dummy.c
>> > perf probe -x ./dummy --add 'isprime a'
>> > perf record -e probe_dummy:isprime ./dummy
>> > perf script
>
>> Checking this here, but as non root I get:
>
>> [acme@zoo ~]$ gcc -O0 -g -o isprime isprime.c
>> [acme@zoo ~]$ perf probe -x ./isprime --add 'isprime a'
>> Mapping for the register number 4113 missing on this architecture.
>> Sorry, we don't support this variable location yet.
>>   Error: Failed to add events.
>> [acme@zoo ~]$
>
>Bisected it down to:
>
>[acme@zoo linux]$ git bisect good
>05c8d802fa52ef17dbcce21c38b72b4a313eb036 is the first bad commit
>commit 05c8d802fa52ef17dbcce21c38b72b4a313eb036
>Author: Masami Hiramatsu <[email protected]>
>Date:   Wed Nov 18 15:40:12 2015 +0900
>
>    perf probe: Fix to free temporal Dwarf_Frame
>
>    Since dwarf_cfi_addrframe returns malloc'd Dwarf_Frame object, it has to
>    be freed after it is used.
>
>    Signed-off-by: Masami Hiramatsu <[email protected]>
>    Cc: Adrian Hunter <[email protected]>
>    Cc: Jiri Olsa <[email protected]>
>    Cc: Namhyung Kim <[email protected]>
>    Cc: Peter Zijlstra <[email protected]>
>    Link: 
> http://lkml.kernel.org/r/[email protected]
>    Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
>

Ah, OK. I miss understood. The dwarf_frame_cfa can return a part of
Dwarf_Frame(afaics libdw source code), so it should be freed right after
the Dwarf_Op (pf->fb_ops) is used.

OK, I'll fix that.

Thanks!
--
To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to