path: root/tools
diff options
authorMasami Hiramatsu <>2011-08-20 14:39:23 +0900
committerArnaldo Carvalho de Melo <>2011-09-23 14:33:19 -0300
commitf66fedcb723a9f118170200e21dbabb305f8c702 (patch)
tree22ba9f64a356baf04737f8875c96a6a24146bd35 /tools
parentd93dc5c4478c1fd5de85a3e8aece9aad7bbae044 (diff)
perf probe: Fix regression of variable finder
Fix to call convert_variable() if previous call does not fail. To call convert_variable, it ensures "ret" is 0. However, since "ret" has the return value of synthesize_perf_probe_arg() which always returns positive value if it succeeded, perf probe doesn't call convert_variable(). This will cause a SEGV when we add an event with arguments. This has to be fixed as it ensures "ret" is greater than 0 (or not negative). This regression has been introduced by my previous patch, f182e3e1. Cc: Frederic Weisbecker <> Cc: Ingo Molnar <> Cc: Paul Mackerras <> Cc: Pekka Enberg <> Cc: Peter Zijlstra <> Cc: Link: Signed-off-by: Masami Hiramatsu <> Signed-off-by: Arnaldo Carvalho de Melo <>
Diffstat (limited to 'tools')
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/perf/util/probe-finder.c b/tools/perf/util/probe-finder.c
index 555fc3864b90..5d732621a462 100644
--- a/tools/perf/util/probe-finder.c
+++ b/tools/perf/util/probe-finder.c
@@ -659,7 +659,7 @@ static int find_variable(Dwarf_Die *sc_die, struct probe_finder *pf)
if (!die_find_variable_at(&pf->cu_die, pf->pvar->var, 0, &vr_die))
ret = -ENOENT;
- if (ret == 0)
+ if (ret >= 0)
ret = convert_variable(&vr_die, pf);
if (ret < 0)