linux_old1/tools/perf/util
Jiri Olsa 288a4b91fc perf tools: Fix report -F dso_from for data without branch info
The branch field sorting code assumes hist_entry::branch_info is
allocated, which is wrong and following perf session ends up with report
segfault.

  $ perf record ls
  $ perf report -F dso_from
  perf: Segmentation fault

Checking that hist_entry::branch_info is valid and display "N/A" string
in snprint callback if it's not.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1413468427-31049-8-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2014-10-29 10:29:05 -02:00
..
include Revert "perf tools: Default to cpu// for events v5" 2014-10-15 16:04:33 -03:00
scripting-engines perf callchain: Move the callchain_param extern to callchain.h 2014-10-14 17:32:51 -03:00
PERF-VERSION-GEN perf tools: Fix version when building out of tree 2013-11-07 10:40:47 -03:00
abspath.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
alias.c perf tools: Introduce zfree 2013-12-27 15:17:00 -03:00
annotate.c perf symbols: Make sym->end be the first address after the symbol range 2014-10-14 17:50:58 -03:00
annotate.h tools: Consolidate types.h 2014-05-01 21:22:39 +02:00
bitmap.c perf tools: Add bitmap_or function into bitmap object 2012-02-13 23:28:10 -02:00
build-id.c perf tools: Use tid for finding thread 2014-05-12 11:09:50 +02:00
build-id.h tools: Consolidate types.h 2014-05-01 21:22:39 +02:00
cache.h perf tools: Add perf_config_u64 function 2014-08-12 12:03:00 -03:00
callchain.c perf tools: Introduce perf_callchain_config() 2014-09-26 12:43:24 -03:00
callchain.h perf callchain: Move the callchain_param extern to callchain.h 2014-10-14 17:32:51 -03:00
cgroup.c perf evlist: Introduce evlist__for_each() & friends 2014-01-13 10:06:25 -03:00
cgroup.h perf tool: Add cgroup support 2011-02-16 13:30:48 +01:00
cloexec.c perf util: Replace strerror with strerror_r for thread-safety 2014-08-15 10:58:35 -03:00
cloexec.h perf tools: Enable close-on-exec flag on perf file descriptor 2014-07-18 09:09:34 +02:00
color.c perf tools: Make __hpp__fmt() receive an additional len argument 2014-08-12 12:03:05 -03:00
color.h perf tools: Make __hpp__fmt() receive an additional len argument 2014-08-12 12:03:05 -03:00
comm.c perf tools: Identify which comms are from exec 2014-08-13 19:23:08 -03:00
comm.h perf tools: Identify which comms are from exec 2014-08-13 19:23:08 -03:00
config.c perf tools: Fix line number in the config file error message 2014-09-26 12:45:23 -03:00
cpumap.c perf tools: Use cpu/possible instead of cpu/kernel_max 2014-04-22 17:39:16 +02:00
cpumap.h perf tools: Allow ability to map cpus to nodes easily 2014-04-22 17:39:12 +02:00
ctype.c perf tools: ctype.c only wants util.h 2012-02-13 23:17:40 -02:00
data.c perf util: Replace strerror with strerror_r for thread-safety 2014-08-15 10:58:35 -03:00
data.h perf tools: Add perf_data_file__write interface 2013-12-02 09:22:46 -03:00
debug.c perf tools: Add debug prints for ordered events queue 2014-08-12 12:03:01 -03:00
debug.h perf: Use strerror_r instead of strerror 2014-08-15 10:54:29 -03:00
dso.c perf symbols: Improve DSO long names lookup speed with rbtree 2014-10-01 14:39:57 -03:00
dso.h perf symbols: Improve DSO long names lookup speed with rbtree 2014-10-01 14:39:57 -03:00
dwarf-aux.c perf probe: Fix perf probe to find correct variable DIE 2014-06-04 14:49:20 +02:00
dwarf-aux.h perf probe: Fix to find line information for probe list 2013-10-04 15:16:05 -03:00
environment.c
event.c perf tools: Fix perf record as non root with kptr_restrict == 1 2014-09-26 10:51:41 -03:00
event.h perf tools: Move events_stats struct to event.h 2014-10-10 15:53:07 -03:00
evlist.c perf evlist: Fix for double free in tools/perf stat 2014-10-15 16:16:53 -03:00
evlist.h perf evlist: Add missing 'struct option' forward declaration 2014-10-17 12:16:00 -03:00
evsel.c perf evsel: No need to drag util/cgroup.h 2014-10-17 12:17:40 -03:00
evsel.h perf evsel: No need to drag util/cgroup.h 2014-10-17 12:17:40 -03:00
exec_cmd.c perf tools: Makefile: Remove various and sundry cruft 2011-02-18 07:43:06 -02:00
exec_cmd.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
generate-cmdlist.sh tools/perf: Standardize feature support define names to: HAVE_{FEATURE}_SUPPORT 2013-10-09 08:48:28 +02:00
header.c perf tools: Make CPUINFO_PROC an array to support different kernel versions 2014-10-29 10:27:36 -02:00
header.h perf tools: Add dsos__hit_all() 2014-07-23 11:25:40 -03:00
help.c perf tools: Use zfree to help detect use after free bugs 2013-12-27 17:08:19 -03:00
help.h
hist.c perf tools: Remove hists from evsel 2014-10-14 17:32:52 -03:00
hist.h perf tools: Remove hists from evsel 2014-10-14 17:32:52 -03:00
hweight.c
intlist.c perf util: Add findnew method to intlist 2013-10-14 10:28:48 -03:00
intlist.h perf util: Add findnew method to intlist 2013-10-14 10:28:48 -03:00
kvm-stat.h perf kvm stat report: Save pid string in opts.target.pid 2014-09-17 17:08:07 -03:00
levenshtein.c
levenshtein.h
machine.c perf machine: Add missing dsos->root rbtree root initialization 2014-10-14 17:50:44 -03:00
machine.h perf symbols: Encapsulate dsos list head into struct dsos 2014-09-30 12:11:49 -03:00
map.c perf tools: Fixup off-by-one comparision in maps__find 2014-10-14 17:50:56 -03:00
map.h perf tools: Add thread parameter to vdso__dso_findnew() 2014-07-23 17:37:26 -03:00
ordered-events.c perf session: Add option to copy events when queueing 2014-10-15 17:39:03 -03:00
ordered-events.h perf session: Add option to copy events when queueing 2014-10-15 17:39:03 -03:00
pager.c perf tools: Add cat as fallback pager 2014-05-21 11:48:33 +02:00
parse-events.c perf tools: Parse the pmu event prefix and suffix 2014-10-15 16:05:01 -03:00
parse-events.h perf tools: Parse the pmu event prefix and suffix 2014-10-15 16:05:01 -03:00
parse-events.l perf tools: Add support to new style format of kernel PMU event 2014-10-15 16:05:45 -03:00
parse-events.y perf tools: Add support to new style format of kernel PMU event 2014-10-15 16:05:45 -03:00
parse-options.c perf kvm: introduce --list-cmds for use by scripts 2014-03-14 18:08:41 -03:00
parse-options.h perf tools: Add option macro OPT_CALLBACK_OPTARG 2014-07-16 17:57:36 -03:00
path.c tools/perf: Turn strlcpy() into a __weak function 2013-10-09 08:48:49 +02:00
perf_regs.c perf tools: Cache register accesses for unwind processing 2014-06-12 16:53:19 +02:00
perf_regs.h perf tools: Cache register accesses for unwind processing 2014-06-12 16:53:19 +02:00
pmu.c perf tools: Parse the pmu event prefix and suffix 2014-10-15 16:05:01 -03:00
pmu.h perf tools: Parse the pmu event prefix and suffix 2014-10-15 16:05:01 -03:00
pmu.l perf tools: Add perf pmu object to access pmu format definition 2012-03-16 14:29:35 -03:00
pmu.y perf tools: Fix build with bison 2.3 and older. 2013-02-14 16:12:34 -03:00
probe-event.c perf symbols: Encapsulate dsos list head into struct dsos 2014-09-30 12:11:49 -03:00
probe-event.h perf probe: Do not access kallsyms when analyzing user binaries 2014-09-17 18:01:14 -03:00
probe-finder.c perf probe: Do not use dwfl_module_addrsym if dwarf_diename finds symbol name 2014-09-17 18:01:43 -03:00
probe-finder.h perf probe: Support distro-style debuginfo for uprobe 2014-02-18 09:38:44 -03:00
pstack.c perf tools: Move pr_* debug macros into debug object 2014-07-17 12:58:39 -03:00
pstack.h perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
python-ext-sources perf tools: Move fs.* to lib/api/fs/ 2014-02-18 09:34:49 -03:00
python.c tools lib api: Adopt fdarray class from perf's evlist 2014-09-25 16:46:55 -03:00
quote.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
quote.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
rblist.c perf util: Add findnew method to intlist 2013-10-14 10:28:48 -03:00
rblist.h perf util: Add findnew method to intlist 2013-10-14 10:28:48 -03:00
record.c perf evlist: Add perf_evlist__set_tracking_event() 2014-08-13 19:21:32 -03:00
run-command.c perf util: Replace strerror with strerror_r for thread-safety 2014-08-15 10:58:35 -03:00
run-command.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
session.c perf session: Add option to copy events when queueing 2014-10-15 17:39:03 -03:00
session.h perf session: Remove last reference to hists struct 2014-10-14 11:41:25 -03:00
setup.py tools/: Convert to new topic libraries 2013-12-16 16:03:27 -03:00
sigchain.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
sigchain.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
sort.c perf tools: Fix report -F dso_from for data without branch info 2014-10-29 10:29:05 -02:00
sort.h perf tools: Add +field argument support for --field option 2014-08-24 08:11:19 -03:00
srcline.c perf tools: Fix build error due to zfree() cast 2014-01-15 15:10:04 -03:00
stat.c perf stats: Add max and min stats 2013-08-07 17:35:26 -03:00
stat.h tools: Consolidate types.h 2014-05-01 21:22:39 +02:00
strbuf.c perf tools: Use zfree to help detect use after free bugs 2013-12-27 17:08:19 -03:00
strbuf.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
strfilter.c perf tools: Use zfree to help detect use after free bugs 2013-12-27 17:08:19 -03:00
strfilter.h perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
string.c Revert "perf tools: Default to cpu// for events v5" 2014-10-15 16:04:33 -03:00
strlist.c perf tools: Fix build error due to zfree() cast 2014-01-15 15:10:04 -03:00
strlist.h perf tools: Stop using 'self' in strlist 2013-01-25 12:49:28 -03:00
svghelper.c perf timechart: Implement IO mode 2014-07-10 00:22:54 +02:00
svghelper.h perf timechart: Implement IO mode 2014-07-10 00:22:54 +02:00
symbol-elf.c perf symbols: Encapsulate dsos list head into struct dsos 2014-09-30 12:11:49 -03:00
symbol-minimal.c perf tools: Add dso__type() 2014-07-23 17:36:36 -03:00
symbol.c perf symbols: Make sym->end be the first address after the symbol range 2014-10-14 17:50:58 -03:00
symbol.h perf symbols: Make sym->end be the first address after the symbol range 2014-10-14 17:50:58 -03:00
target.c perf record: Make per-cpu mmaps the default. 2013-11-27 14:58:36 -03:00
target.h perf target: Move the checking of which map function to call into function. 2013-12-04 13:46:37 -03:00
thread.c perf callchain: Use global caching provided by libunwind 2014-10-29 10:25:22 -02:00
thread.h perf tools: Identify which comms are from exec 2014-08-13 19:23:08 -03:00
thread_map.c perf thread_map: Create dummy constructor out of open coded equivalent 2014-10-14 17:32:52 -03:00
thread_map.h perf thread_map: Create dummy constructor out of open coded equivalent 2014-10-14 17:32:52 -03:00
tool.h perf tools: Rename ordered_samples bool to ordered_events 2014-08-12 12:02:54 -03:00
top.c perf tools: Rename 'perf_record_opts' to 'record_opts 2013-12-19 14:43:45 -03:00
top.h tools: Consolidate types.h 2014-05-01 21:22:39 +02:00
trace-event-info.c perf tools: Move pr_* debug macros into debug object 2014-07-17 12:58:39 -03:00
trace-event-parse.c perf tools: Fix memory leak in event_format__print function 2014-02-18 09:34:47 -03:00
trace-event-read.c perf tools: Remove needless getopt.h includes 2014-07-17 12:59:00 -03:00
trace-event-scripting.c perf scripting: Add 'flush' callback to scripting API 2014-08-22 13:12:11 -03:00
trace-event.c tools lib traceevent: Make plugin unload function receive pevent 2014-01-15 15:10:40 -03:00
trace-event.h perf scripting: Add 'flush' callback to scripting API 2014-08-22 13:12:11 -03:00
tsc.c perf tools: Move rdtsc() function 2014-07-23 11:48:11 -03:00
tsc.h perf tools: Move rdtsc() function 2014-07-23 11:48:11 -03:00
unwind-libdw.c perf tools: Move pr_* debug macros into debug object 2014-07-17 12:58:39 -03:00
unwind-libdw.h perf tools: Add libdw DWARF post unwind support 2014-02-24 09:29:36 -03:00
unwind-libunwind.c perf callchain: Use global caching provided by libunwind 2014-10-29 10:25:22 -02:00
unwind.h perf callchain: Use global caching provided by libunwind 2014-10-29 10:25:22 -02:00
usage.c perf target: Introduce perf_target__parse_uid() 2012-05-07 16:46:48 -03:00
util.c perf callchain: Move callchain_param to util object in to fix python test 2014-10-03 09:39:48 -03:00
util.h perf tools: define _DEFAULT_SOURCE for glibc_2.20 2014-09-17 17:08:10 -03:00
values.c perf tools: Use zfree to help detect use after free bugs 2013-12-27 17:08:19 -03:00
values.h tools: Consolidate types.h 2014-05-01 21:22:39 +02:00
vdso.c perf tools: Add thread parameter to vdso__dso_findnew() 2014-07-23 17:37:26 -03:00
vdso.h perf tools: Add thread parameter to vdso__dso_findnew() 2014-07-23 17:37:26 -03:00
wrapper.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
xyarray.c perf tools: Introduce event selectors 2011-01-03 16:39:04 -02:00
xyarray.h perf tools: Introduce event selectors 2011-01-03 16:39:04 -02:00