lkml.org 
[lkml]   [2020]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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

\
 
 \ /
  Last update: 2020-07-09 16:46    [W:0.085 / U:2.672 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site