Messages in this thread | | | From | Namhyung Kim <> | Subject | Re: [PATCH -tip ] [BUGFIX/URGENT] perf-probe: Do not add offset to uprobe address | Date | Thu, 06 Feb 2014 16:48:02 +0900 |
| |
Hi Masami,
On Wed, 05 Feb 2014 05:18:58 +0000, Masami Hiramatsu wrote: > Fix perf-probe not to add offset value to uprobe probe > address when post processing. > tevs[i].point.address is the address of symbol+offset, > but current perf-probe adjusts the point.address by > adding the offset. As a result, the probe address becomes > symbol+offset+offset. This may cause unexpected > code corruption. Urgent fix is needed. > > Without this fix > --- > # ./perf probe -x ./perf dso__load_vmlinux+4 > # ./perf probe -l > probe_perf:dso__load_vmlinux (on 0x000000000006d2b8) > # nm ./perf.orig | grep dso__load_vmlinux\$ > 000000000046d0a0 T dso__load_vmlinux
Shouldn't the original symbol address be
000000000046d2b0
?
> --- > You can see the given offset is 3 but the actual probed
s/3/4/ ?
Thanks, Namhyung
> address is dso__load_vmlinux+8. > > With this fix > --- > # ./perf probe -x ./perf dso__load_vmlinux+4 > # ./perf probe -l > probe_perf:dso__load_vmlinux (on 0x000000000006d2b4) > --- > Now the problem is fixed.
| |