Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1600814

[PATCH 06/19] perf sort: Fix segfault with basic block 'cycles' sort dimension

From Arnaldo Carvalho de Melo <acme@kernel.org>
Newsgroups linux.kernel
Subject [PATCH 06/19] perf sort: Fix segfault with basic block 'cycles' sort dimension
Date 2017-03-14 20:00 +0100
Message-ID <tkZPQ-4ju-21@gated-at.bofh.it> (permalink)
References <tkZPP-4ju-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: Changbin Du <changbin.du@intel.com>

Skip the sample which doesn't have branch_info to avoid segmentation
fault:

The fault can be reproduced by:

  perf record -a
  perf report -F cycles

Signed-off-by: Changbin Du <changbin.du@intel.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Fixes: 0e332f033a82 ("perf tools: Add support for cycles, weight branch_info field")
Link: http://lkml.kernel.org/r/20170313083148.23568-1-changbin.du@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/sort.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
index f8f16c0e20b6..93f755ac60ca 100644
--- a/tools/perf/util/sort.c
+++ b/tools/perf/util/sort.c
@@ -846,6 +846,9 @@ static int hist_entry__mispredict_snprintf(struct hist_entry *he, char *bf,
 static int64_t
 sort__cycles_cmp(struct hist_entry *left, struct hist_entry *right)
 {
+	if (!left->branch_info || !right->branch_info)
+		return cmp_null(left->branch_info, right->branch_info);
+
 	return left->branch_info->flags.cycles -
 		right->branch_info->flags.cycles;
 }
@@ -853,6 +856,8 @@ sort__cycles_cmp(struct hist_entry *left, struct hist_entry *right)
 static int hist_entry__cycles_snprintf(struct hist_entry *he, char *bf,
 				    size_t size, unsigned int width)
 {
+	if (!he->branch_info)
+		return scnprintf(bf, size, "%-.*s", width, "N/A");
 	if (he->branch_info->flags.cycles == 0)
 		return repsep_snprintf(bf, size, "%-*s", width, "-");
 	return repsep_snprintf(bf, size, "%-*hd", width,
-- 
2.9.3

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[GIT PULL 00/19] perf/core improvements and fixes Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  [PATCH 17/19] perf powerpc: Choose local entry point with kretprobes Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  [PATCH 12/19] perf script: Add script print support for namespace events Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  [PATCH 16/19] perf kretprobes: Offset from reloc_sym if kernel supports it Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  [PATCH 04/19] perf tools: Missing c2c command in command-list Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  [PATCH 07/19] perf report: Document +field style argument support for --field option Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  [PATCH 05/19] perf tools: Ignore generated files pmu-events/{jevents,pmu-events.c} for git Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  [PATCH 06/19] perf sort: Fix segfault with basic block 'cycles' sort dimension Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  [PATCH 19/19] kprobes: Convert kprobe_exceptions_notify to use NOKPROBE_SYMBOL Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  [PATCH 14/19] perf sched timehist: Add --next option Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  [PATCH 13/19] perf tools: Add 'cgroup_id' sort order keyword Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  [PATCH 03/19] perf c2c: Fix display bug when using pipe Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  [PATCH 01/19] perf report: Hide tip message when -q option is given Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  [PATCH 02/19] perf c2c: Clarify help message of --stats option Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  [PATCH 18/19] doc: trace/kprobes: add information about NOKPROBE_SYMBOL Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  [PATCH 10/19] perf tools: Add PERF_RECORD_NAMESPACES to include namespaces related info Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  [PATCH 08/19] perf hists browser: Fix typo in function switch_data_file Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  [PATCH 15/19] perf probe: Factor out the ftrace README scanning Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-03-14 20:00 +0100
  Re: [GIT PULL 00/19] perf/core improvements and fixes Ingo Molnar <mingo@kernel.org> - 2017-03-15 19:40 +0100

csiph-web