diff options
author | Namhyung Kim <[email protected]> | 2012-10-15 12:39:42 +0900 |
---|---|---|
committer | Arnaldo Carvalho de Melo <[email protected]> | 2012-10-16 13:05:07 -0300 |
commit | ffe10c6f95412da01695e659e967747333d5e812 (patch) | |
tree | 069316cfffaaf93e159b0df727f2c1d175a981d3 | |
parent | 20b279ddb38ca42f8863cec07b4d45ec24589f13 (diff) |
perf tools: Fix segfault when using srcline sort key
The srcline sort key is for grouping samples based on their source file
and line number. It use addr2line tool to get the information but it
requires dso name. It caused a segfault when a sample does not have the
name by dereferencing a NULL pointer. Fix it by using raw ip addresses
for those samples.
Signed-off-by: Namhyung Kim <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
-rw-r--r-- | tools/perf/util/sort.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c index b5b1b9211960..dd68f115d392 100644 --- a/tools/perf/util/sort.c +++ b/tools/perf/util/sort.c @@ -260,6 +260,9 @@ static int hist_entry__srcline_snprintf(struct hist_entry *self, char *bf, if (path != NULL) goto out_path; + if (!self->ms.map) + goto out_ip; + snprintf(cmd, sizeof(cmd), "addr2line -e %s %016" PRIx64, self->ms.map->dso->long_name, self->ip); fp = popen(cmd, "r"); |