linux/tools/perf/util
Cody P Schafer 515850e4fb perf symbols: only set vmlinux longname & mark loaded if really loaded
dso__load_vmlinux() uses the filename passed to it to directly set the
dso long_name, which resulted in a use after free due to
dso__load_vmlinux_path() treating 0 symbols as a load failure and
subsequently freeing the contents of dso->long_name.

Change dso__load_vmlinux() so that finding 0 symbols does not cause it
to consider itself loaded, and do not set long_name in such a case.

Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
Cc: David Hansen <dave@linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Matt Hellsley <matthltc@us.ibm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/1344637382-22789-9-git-send-email-cody@linux.vnet.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2012-08-13 14:24:12 -03:00
..
include perf tools: Support for DWARF CFI unwinding on post processing 2012-08-11 15:06:56 -03:00
scripting-engines perf script python: Correct handler check and spelling errors 2012-08-09 13:26:19 -03:00
abspath.c
alias.c
annotate.c perf annotate: Prevent overflow in size calculation 2012-07-25 13:06:42 -03:00
annotate.h perf annotate: Introduce ->free() method in ins_ops 2012-05-12 13:26:20 -03:00
bitmap.c perf tools: Add bitmap_or function into bitmap object 2012-02-13 23:28:10 -02:00
build-id.c perf buildid-list: Work better with pipe mode 2012-05-22 13:03:54 -03:00
build-id.h perf tools: Rename perf_event_ops to perf_tool 2011-11-28 10:39:28 -02:00
cache.h perf ui: Change fallback policy of setup_browser() 2012-05-02 16:17:37 -03:00
callchain.c perf callchain: Make callchain cursors TLS 2012-05-31 10:47:12 -03:00
callchain.h perf callchain: Make callchain cursors TLS 2012-05-31 10:47:12 -03:00
cgroup.c
cgroup.h
color.c perf tools: Use scnprintf where applicable 2012-03-14 12:36:19 -03:00
color.h
config.c perf config: Allow '_' in config file variable names 2012-05-29 21:59:02 -03:00
cpumap.c perf tools: Add fprintf methods for thread_map and cpu_map classes 2012-01-24 19:46:48 -02:00
cpumap.h perf tools: Add fprintf methods for thread_map and cpu_map classes 2012-01-24 19:46:48 -02:00
ctype.c perf tools: ctype.c only wants util.h 2012-02-13 23:17:40 -02:00
debug.c perf ui: Introduce struct perf_error_ops 2012-06-19 13:06:18 -03:00
debug.h perf ui: Introduce struct perf_error_ops 2012-06-19 13:06:18 -03:00
debugfs.c perf tools: Remove unused functions from debugfs object 2012-02-13 23:25:38 -02:00
debugfs.h perf tools: Remove unused functions from debugfs object 2012-02-13 23:25:38 -02:00
dso-test-data.c perf test: Add dso data caching tests 2012-07-25 11:33:17 -03:00
dwarf-aux.c
dwarf-aux.h
environment.c
event.c perf symbols: Remove unused 'end' arg in kallsyms parse cb 2012-08-13 14:10:31 -03:00
event.h perf tools: Support user regs and stack in sample parsing 2012-08-10 16:47:02 -03:00
evlist.c perf evsel: Adopt parse_sample method from perf_event 2012-08-02 12:23:46 -03:00
evlist.h perf evsel: Adopt parse_sample method from perf_event 2012-08-02 12:23:46 -03:00
evsel.c perf tools: Support for DWARF mode callchain 2012-08-11 15:07:18 -03:00
evsel.h perf evsel: Cache associated event_format 2012-08-07 23:43:37 -03:00
exec_cmd.c
exec_cmd.h
generate-cmdlist.sh perf symbols: Support minimal build without libelf 2012-08-09 16:26:38 -03:00
header.c perf tools: Support user regs and stack in sample parsing 2012-08-10 16:47:02 -03:00
header.h perf tools: rename HEADER_TRACE_INFO to HEADER_TRACING_DATA 2012-05-22 12:57:46 -03:00
help.c
help.h
hist.c perf hists: Print newline between hists callchains 2012-07-25 11:32:26 -03:00
hist.h perf tools: Add sort by src line/number 2012-06-19 13:06:18 -03:00
hweight.c
intlist.c perf tools: Introduce intlist 2012-08-03 10:42:25 -03:00
intlist.h perf tools: Introduce intlist 2012-08-03 10:42:25 -03:00
levenshtein.c
levenshtein.h
map.c perf symbols: Remove unused function map__objdump_2ip 2012-08-13 12:55:09 -03:00
map.h perf symbols: Remove unused function map__objdump_2ip 2012-08-13 12:55:09 -03:00
pager.c perf tools: Fix pager on minimal-install embedded systems 2012-05-30 15:10:39 -03:00
parse-events-test.c perf test: Fix parse events automated tests 2012-08-01 18:42:10 -03:00
parse-events.c perf tools: Support for events bash completion 2012-08-09 15:59:26 -03:00
parse-events.h perf tools: Support for events bash completion 2012-08-09 15:59:26 -03:00
parse-events.l perf tools: Fix parsing of 64 bit raw config value for 32 bit 2012-08-08 12:39:56 -03:00
parse-events.y perf tools: Fix parsing of 64 bit raw config value for 32 bit 2012-08-08 12:39:56 -03:00
parse-options.c perf tool: Save cmdline from user in file header vs what is passed to record 2012-08-03 10:33:50 -03:00
parse-options.h
path.c
perf_regs.h perf tools: Add interface to arch registers sets 2012-08-10 16:32:59 -03:00
PERF-VERSION-GEN perf tools: Make --version show kernel version instead of pull req tag 2012-05-31 11:20:59 -03:00
pmu.c perf tools: Fix generation of pmu list 2012-06-29 13:31:27 -03:00
pmu.h perf/tool: Add PMU event alias support 2012-06-18 12:13:26 +02: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: Add perf pmu object to access pmu format definition 2012-03-16 14:29:35 -03:00
probe-event.c perf uprobes: Remove unnecessary check before strlist__delete 2012-05-31 12:08:49 -03:00
probe-event.h perf probe: Provide perf interface for uprobes 2012-05-11 13:58:17 -03:00
probe-finder.c perf probe: Finder fails to resolve function name to address 2012-03-28 11:56:49 -03:00
probe-finder.h
pstack.c
pstack.h
python-ext-sources perf tools: Allow multiple threads or processes in record, stat, top 2012-02-13 22:54:11 -02:00
python.c perf evlist: Introduce perf_evlist__parse_sample 2012-08-02 11:42:57 -03:00
quote.c
quote.h
rblist.c perf tools: Introducing rblist 2012-08-03 10:37:21 -03:00
rblist.h perf tools: Introducing rblist 2012-08-03 10:37:21 -03:00
run-command.c
run-command.h
session.c perf tools: Support for DWARF CFI unwinding on post processing 2012-08-11 15:06:56 -03:00
session.h perf tools: Support for DWARF CFI unwinding on post processing 2012-08-11 15:06:56 -03:00
setup.py perf tools: Fix build dependency of perf python extension 2012-02-13 18:01:25 -02:00
sigchain.c
sigchain.h
sort.c perf tools: Add sort by src line/number 2012-06-19 13:06:18 -03:00
sort.h perf tools: Add sort by src line/number 2012-06-19 13:06:18 -03:00
strbuf.c perf tools: Use scnprintf where applicable 2012-03-14 12:36:19 -03:00
strbuf.h
strfilter.c
strfilter.h
string.c perf lib: Introduce rtrim 2012-06-19 13:06:19 -03:00
strlist.c perf tools: Change strlist to use the new rblist 2012-08-03 10:39:51 -03:00
strlist.h perf tools: Change strlist to use the new rblist 2012-08-03 10:39:51 -03:00
svghelper.c
svghelper.h
symbol-elf.c perf symbols: Don't try to synthesize plt without dynstr 2012-08-13 12:56:45 -03:00
symbol-minimal.c perf symbols: Implement poor man's ELF parser 2012-08-09 16:27:04 -03:00
symbol.c perf symbols: only set vmlinux longname & mark loaded if really loaded 2012-08-13 14:24:12 -03:00
symbol.h perf symbols: Remove unused 'end' arg in kallsyms parse cb 2012-08-13 14:10:31 -03:00
sysfs.c perf tools: Add sysfs mountpoint interface 2012-02-13 23:27:15 -02:00
sysfs.h perf tools: Add sysfs mountpoint interface 2012-02-13 23:27:15 -02:00
target.c perf target: Fix check on buffer size 2012-08-01 18:42:54 -03:00
target.h perf target: Add uses_mmap field 2012-05-17 12:32:54 -03:00
thread_map.c perf tools: fix thread_map__new_by_pid_str() memory leak in error path 2012-05-25 11:40:59 -03:00
thread_map.h perf tools: Fix thread map that is type pid_t 2012-04-11 17:38:50 -03:00
thread.c
thread.h
tool.h perf tools: Save some loops using perf_evlist__id2evsel 2011-11-28 17:57:40 -02:00
top.c perf tools: Move all users of event_name to perf_evsel__name 2012-06-19 13:06:20 -03:00
top.h perf top: Convert to struct perf_target 2012-05-02 15:20:30 -03:00
trace-event-info.c perf: Have perf use the new libtraceevent.a library 2012-04-25 13:28:48 +02:00
trace-event-parse.c perf script: Stop using pevent directly 2012-08-07 23:50:21 -03:00
trace-event-read.c perf tools: Stop using a global trace events description list 2012-06-27 13:08:42 -03:00
trace-event-scripting.c perf script: Replace "struct thread" with "struct addr_location" as a parameter for "process_event()" 2012-08-08 12:46:40 -03:00
trace-event.h perf tools: Support for DWARF CFI unwinding on post processing 2012-08-11 15:06:56 -03:00
types.h perf tools: Add union u64_swap type for swapping u64 data 2012-05-22 12:50:25 -03:00
unwind.c perf tools: Support for DWARF CFI unwinding on post processing 2012-08-11 15:06:56 -03:00
unwind.h perf tools: Support for DWARF CFI unwinding on post processing 2012-08-11 15:06:56 -03:00
usage.c perf target: Introduce perf_target__parse_uid() 2012-05-07 16:46:48 -03:00
util.c perf tools: Add dump_stack function 2012-08-07 23:32:05 -03:00
util.h perf tools: Add dump_stack function 2012-08-07 23:32:05 -03:00
values.c perf tools: Fix a memory leak on perf_read_values_destroy 2011-12-20 13:41:34 -02:00
values.h
wrapper.c
xyarray.c
xyarray.h