From: Namhyung Kim Date: Mon, 15 Oct 2012 03:39:42 +0000 (+0900) Subject: perf tools: Fix segfault when using srcline sort key X-Git-Tag: upstream/snapshot3+hdmi~6373^2~1^2~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ffe10c6f95412da01695e659e967747333d5e812;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git 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 Cc: Ingo Molnar Cc: Paul Mackerras Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/1350272383-7016-1-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c index b5b1b92..dd68f11 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");