Messages in this thread |  | | Date | Thu, 9 Jul 2020 07:37:43 -0700 | From | Andi Kleen <> | Subject | Re: [PATCH 2/4] perf-probe: Fix wrong variable warning when the probe point is not found |
| |
On Thu, Jul 09, 2020 at 05:07:12PM +0900, Masami Hiramatsu wrote: > Fix a wrong "variable not found" warning when the probe point is > not found in the debuginfo. > Since the debuginfo__find_probes() can return 0 even if it does not > find given probe point in the debuginfo, fill_empty_trace_arg() can > be called with tf.ntevs == 0 and it can warn a wrong warning. > To fix this, reject ntevs == 0 in fill_empty_trace_arg(). > > E.g. without this patch; > > # perf probe -x /lib64/libc-2.30.so -a "memcpy arg1=%di" > Failed to find the location of the '%di' variable at this address. > Perhaps it has been optimized out. > Use -V with the --range option to show '%di' location range. > Added new events: > probe_libc:memcpy (on memcpy in /usr/lib64/libc-2.30.so with arg1=%di) > probe_libc:memcpy (on memcpy in /usr/lib64/libc-2.30.so with arg1=%di) > > You can now use it in all perf tools, such as: > > perf record -e probe_libc:memcpy -aR sleep 1 > > With this; > > # perf probe -x /lib64/libc-2.30.so -a "memcpy arg1=%di" > Added new events: > probe_libc:memcpy (on memcpy in /usr/lib64/libc-2.30.so with arg1=%di) > probe_libc:memcpy (on memcpy in /usr/lib64/libc-2.30.so with arg1=%di) > > You can now use it in all perf tools, such as: > > perf record -e probe_libc:memcpy -aR sleep 1 > > > Reported-by: Andi Kleen <andi@firstfloor.org> > Fixes: cb4027308570 ("perf probe: Trace a magic number if variable is not found") > Cc: stable@vger.kernel.org > Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Tested-by: Andi Kleen <ak@linux.intel.com>
Except for the minor nit on the message all patches look good to me.
-Andi
|  |