[tip:perf/urgent] perf tools: Fix segfault when using srcline sort key
Commit-ID: ffe10c6f95412da01695e659e967747333d5e812 Gitweb: http://git.kernel.org/tip/ffe10c6f95412da01695e659e967747333d5e812 Author: Namhyung Kim AuthorDate: Mon, 15 Oct 2012 12:39:42 +0900 Committer: Arnaldo Carvalho de Melo CommitDate: Tue, 16 Oct 2012 13:05:07 -0300 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-namhy...@kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- 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 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"); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[tip:perf/urgent] perf tools: Fix segfault when using srcline sort key
Commit-ID: ffe10c6f95412da01695e659e967747333d5e812 Gitweb: http://git.kernel.org/tip/ffe10c6f95412da01695e659e967747333d5e812 Author: Namhyung Kim namhyung@lge.com AuthorDate: Mon, 15 Oct 2012 12:39:42 +0900 Committer: Arnaldo Carvalho de Melo a...@redhat.com CommitDate: Tue, 16 Oct 2012 13:05:07 -0300 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 namhy...@kernel.org Cc: Ingo Molnar mi...@kernel.org Cc: Paul Mackerras pau...@samba.org Cc: Peter Zijlstra a.p.zijls...@chello.nl Link: http://lkml.kernel.org/r/1350272383-7016-1-git-send-email-namhy...@kernel.org Signed-off-by: Arnaldo Carvalho de Melo a...@redhat.com --- 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 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); -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/