kernel_optimize_test/tools/perf/util
Changbin Du 39df730b09 perf list: Don't forget to drop the reference to the allocated thread_map
Detected via gcc's ASan:

  Direct leak of 2048 byte(s) in 64 object(s) allocated from:
    6     #0 0x7f606512e370 in __interceptor_realloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xee370)
    7     #1 0x556b0f1d7ddd in thread_map__realloc util/thread_map.c:43
    8     #2 0x556b0f1d84c7 in thread_map__new_by_tid util/thread_map.c:85
    9     #3 0x556b0f0e045e in is_event_supported util/parse-events.c:2250
   10     #4 0x556b0f0e1aa1 in print_hwcache_events util/parse-events.c:2382
   11     #5 0x556b0f0e3231 in print_events util/parse-events.c:2514
   12     #6 0x556b0ee0a66e in cmd_list /home/changbin/work/linux/tools/perf/builtin-list.c:58
   13     #7 0x556b0f01e0ae in run_builtin /home/changbin/work/linux/tools/perf/perf.c:302
   14     #8 0x556b0f01e859 in handle_internal_command /home/changbin/work/linux/tools/perf/perf.c:354
   15     #9 0x556b0f01edc8 in run_argv /home/changbin/work/linux/tools/perf/perf.c:398
   16     #10 0x556b0f01f71f in main /home/changbin/work/linux/tools/perf/perf.c:520
   17     #11 0x7f6062ccf09a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)

Signed-off-by: Changbin Du <changbin.du@gmail.com>
Reviewed-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
Fixes: 89896051f8 ("perf tools: Do not put a variable sized type not at the end of a struct")
Link: http://lkml.kernel.org/r/20190316080556.3075-3-changbin.du@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2019-03-19 16:52:04 -03:00
..
c++ perf clang: Remove needless extra semicolon 2019-03-06 09:47:48 -03:00
cs-etm-decoder perf tools: Rename build libperf to perf 2019-02-14 15:18:08 -03:00
include Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
intel-pt-decoder perf tools: Rename build libperf to perf 2019-02-14 15:18:08 -03:00
libunwind
scripting-engines perf db-export: Add calls parent_id to enable creation of call trees 2019-03-01 14:50:47 -03:00
annotate.c perf annotate: Calculate the max instruction name, align column to that 2019-03-06 16:40:15 -03:00
annotate.h perf annotate: Calculate the max instruction name, align column to that 2019-03-06 16:40:15 -03:00
archinsn.h perf script: Support insn output for normal samples 2019-03-11 11:56:02 -03:00
arm-spe-pkt-decoder.c
arm-spe-pkt-decoder.h
arm-spe.c
arm-spe.h
auxtrace.c perf auxtrace: Improve address filter error message when there is no DSO 2019-03-01 14:47:06 -03:00
auxtrace.h perf auxtrace: Add timestamp to auxtrace errors 2019-02-06 11:20:32 -03:00
block-range.c perf block-range: Add missing headers 2019-01-25 15:12:09 +01:00
block-range.h perf block-range: Add missing headers 2019-01-25 15:12:09 +01:00
bpf_map.c perf bpf: Add bpf_map dumper 2019-02-19 16:11:56 -03:00
bpf_map.h perf bpf: Add bpf_map dumper 2019-02-19 16:11:56 -03:00
bpf-event.c perf bpf-event: Add missing new line into pr_debug call 2019-02-20 16:23:07 -03:00
bpf-event.h perf tools: Synthesize PERF_RECORD_* for loaded BPF programs 2019-01-21 17:36:39 -03:00
bpf-loader.c Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-03-06 07:59:36 -08:00
bpf-loader.h perf bpf-loader: Remove unecessary includes from bpf-loader.h 2019-02-06 10:00:39 -03:00
bpf-prologue.c docs: Fix some broken references 2018-06-15 18:10:01 -03:00
bpf-prologue.h
branch.c
branch.h perf tools: Move branch structs to branch.h 2019-01-25 15:12:08 +01:00
Build perf bpf: Add bpf_map dumper 2019-02-19 16:11:56 -03:00
build-id.c pref tools: Add missing map.h includes 2019-02-06 10:00:38 -03:00
build-id.h perf namespaces: Remove namespaces.h from .h headers 2019-01-25 15:12:09 +01:00
cache.h
call-path.c
call-path.h
callchain.c perf hist: Remove symbol.h from hist.h, just fwd decls are needed 2019-02-06 10:00:38 -03:00
callchain.h perf symbols: Introduce map_symbol.h 2019-02-06 10:00:38 -03:00
cgroup.c perf cgroup: Make evlist__find_cgroup() more compact 2018-06-04 10:28:50 -03:00
cgroup.h
cloexec.c
cloexec.h
color_config.c perf utils: Move perf_config using routines from color.c to separate object 2019-01-21 17:38:56 -03:00
color.c perf utils: Move perf_config using routines from color.c to separate object 2019-01-21 17:38:56 -03:00
color.h perf color: Add missing stdarg.g to color.h 2019-01-25 15:12:08 +01:00
comm.c perf comm: Remove needless headers from comm.h 2019-01-25 15:12:09 +01:00
comm.h perf comm: Remove needless headers from comm.h 2019-01-25 15:12:09 +01:00
compress.h perf tools: Add is_compressed callback to compressions array 2018-08-20 08:54:59 -03:00
config.c perf tools: Add missing include <callchain.h> in various places 2019-02-06 10:00:38 -03:00
config.h perf config: Call perf_config__init() lazily 2018-05-16 16:11:09 -03:00
counts.c
counts.h
cpu-set-sched.h perf tools: Add fallback versions for CPU_{OR,EQUAL}() 2019-02-06 10:00:39 -03:00
cpumap.c perf cpumap: Increase debug level for cpu_map__snprint verbose output 2019-02-20 17:08:39 -03:00
cpumap.h perf record: Apply affinity masks when reading mmap buffers 2019-02-06 10:00:39 -03:00
cputopo.c perf tools: Use sysfs__mountpoint() when reading cpu topology 2019-02-19 12:21:10 -03:00
cputopo.h perf tools: Add numa_topology object 2019-02-19 12:21:06 -03:00
cs-etm.c perf cs-etm: Modularize auxtrace_buffer fetch function 2019-02-14 15:18:08 -03:00
cs-etm.h perf cs-etm: Introducing function cs_etm__init_trace_params() 2019-02-14 15:18:06 -03:00
ctype.c
data-convert-bt.c perf data: Add global path holder 2019-02-22 16:52:07 -03:00
data-convert-bt.h
data-convert.h
data.c perf record: Allow to limit number of reported perf.data files 2019-03-19 11:56:20 -03:00
data.h perf record: Allow to limit number of reported perf.data files 2019-03-19 11:56:20 -03:00
db-export.c perf db-export: Add calls parent_id to enable creation of call trees 2019-03-01 14:50:47 -03:00
db-export.h perf db-export: Add calls parent_id to enable creation of call trees 2019-03-01 14:50:47 -03:00
debug.c
debug.h
demangle-java.c
demangle-java.h
demangle-rust.c
demangle-rust.h
dso.c perf report: Indicate JITed code better in report 2019-03-19 16:52:03 -03:00
dso.h perf symbols: Use cached rbtrees 2019-01-25 15:12:10 +01:00
dump-insn.c perf script: Fix LBR skid dump problems in brstackinsn 2018-12-28 16:33:02 -03:00
dump-insn.h perf script: Fix LBR skid dump problems in brstackinsn 2018-12-28 16:33:02 -03:00
dwarf-aux.c
dwarf-aux.h
dwarf-regs.c
env.c perf env: Also consider env->arch == NULL as local operation 2018-12-17 14:54:02 -03:00
env.h perf record: Encode -k clockid frequency into Perf trace 2018-10-18 11:16:38 -03:00
event.c perf tools: Add missing include for symbols.h 2019-02-06 10:00:38 -03:00
event.h perf auxtrace: Add timestamp to auxtrace errors 2019-02-06 11:20:32 -03:00
evlist.c perf evsel: Probe for precise_ip with simple attr 2019-03-06 18:19:45 -03:00
evlist.h perf record: Allocate affinity masks 2019-02-06 10:00:39 -03:00
evsel_fprintf.c perf tools: Support 'srccode' output 2018-12-17 14:57:07 -03:00
evsel.c perf stat: Improve scaling 2019-03-19 16:52:03 -03:00
evsel.h perf evsel: No need to include symbol.h in evsel.h, symbol_conf.h is enough 2019-02-06 10:00:38 -03:00
expr.h
expr.y
find-map.c perf tools: Make find_vdso_map() more modular 2019-01-08 13:28:13 -03:00
genelf_debug.c
genelf.c perf tools: Fix spelling mistake: "builid" -> "buildid" 2018-04-30 12:02:03 -03:00
genelf.h perf jitdump: Add Sparc support. 2018-10-18 11:16:38 -03:00
generate-cmdlist.sh
get_current_dir_name.c tools build feature: Check if get_current_dir_name() is available 2018-11-19 12:12:17 -08:00
group.h
header.c perf header: Add DIR_FORMAT feature to describe directory data 2019-03-11 11:56:03 -03:00
header.h perf header: Add DIR_FORMAT feature to describe directory data 2019-03-11 11:56:03 -03:00
help-unknown-cmd.c
help-unknown-cmd.h
hist.c perf report: Implement browsing of individual samples 2019-03-11 16:33:19 -03:00
hist.h perf report: Implement browsing of individual samples 2019-03-11 16:33:19 -03:00
intel-bts.c perf thread: Generalize function to copy from thread addr space from intel-bts code 2019-03-06 17:55:35 -03:00
intel-bts.h
intel-pt.c perf intel-pt: Fix divide by zero when TSC is not available 2019-03-01 14:48:30 -03:00
intel-pt.h
intlist.c
intlist.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
jit.h
jitdump.c perf symbols: Remove some unnecessary includes from symbol.h 2019-01-25 15:12:09 +01:00
jitdump.h
kvm-stat.h perf kvm stat: Replace kvm-stat.h includes with forward declarations 2019-02-06 10:00:39 -03:00
levenshtein.c
levenshtein.h
llvm-utils.c perf bpf: Give precedence to bpf header dir 2018-08-30 15:52:20 -03:00
llvm-utils.h perf llvm: Allow passing options to llc in addition to clang 2018-08-20 08:54:58 -03:00
lzma.c perf tools: Add lzma_is_compressed function 2018-08-20 08:54:59 -03:00
machine.c perf tools: Add missing include for symbols.h 2019-02-06 10:00:38 -03:00
machine.h perf map: Move structs and prototypes for map groups to a separate header 2019-02-06 10:00:38 -03:00
map_groups.h perf map: Move structs and prototypes for map groups to a separate header 2019-02-06 10:00:38 -03:00
map_symbol.h perf symbols: Introduce map_symbol.h 2019-02-06 10:00:38 -03:00
map.c perf map: Move structs and prototypes for map groups to a separate header 2019-02-06 10:00:38 -03:00
map.h perf map: Move structs and prototypes for map groups to a separate header 2019-02-06 10:00:38 -03:00
mem-events.c perf mem/c2c: Fix perf_mem_events to support powerpc 2019-02-04 11:32:14 -03:00
mem-events.h
mem2node.c
mem2node.h
memswap.c
memswap.h
metricgroup.c perf list: Display metric expressions for --details option 2019-02-14 15:18:09 -03:00
metricgroup.h perf list: Display metric expressions for --details option 2019-02-14 15:18:09 -03:00
mmap.c perf record: Apply affinity masks when reading mmap buffers 2019-02-06 10:00:39 -03:00
mmap.h perf record: Allocate affinity masks 2019-02-06 10:00:39 -03:00
namespaces.c perf tools: Restore proper cwd on return from mnt namespace 2018-11-19 12:12:26 -08:00
namespaces.h perf tools: Restore proper cwd on return from mnt namespace 2018-11-19 12:12:26 -08:00
ordered-events.c perf ordered_events: Fix crash in ordered_events__free 2019-01-17 11:07:00 -03:00
ordered-events.h perf ordered_events: Add first_time() method 2018-12-17 15:02:17 -03:00
parse-branch-options.c
parse-branch-options.h
parse-events.c perf list: Don't forget to drop the reference to the allocated thread_map 2019-03-19 16:52:04 -03:00
parse-events.h perf evsel: Introduce per event max_events property 2018-10-19 16:31:09 -03:00
parse-events.l perf evsel: Introduce per event max_events property 2018-10-19 16:31:09 -03:00
parse-events.y perf tools: Fix legacy events symbol separator parsing 2019-02-14 15:18:08 -03:00
parse-regs-options.c
parse-regs-options.h
path.c
path.h
perf_regs.c
perf_regs.h
perf-hooks-list.h
perf-hooks.c
perf-hooks.h
PERF-VERSION-GEN
pmu.c perf tools: Read and store caps/max_precise in perf_pmu 2019-03-06 18:18:17 -03:00
pmu.h perf tools: Read and store caps/max_precise in perf_pmu 2019-03-06 18:18:17 -03:00
pmu.l
pmu.y
print_binary.c
print_binary.h
probe-event.c perf probe: Fix getting the kernel map 2019-03-11 11:56:03 -03:00
probe-event.h perf namespaces: Remove namespaces.h from .h headers 2019-01-25 15:12:09 +01:00
probe-file.c perf namespaces: Remove namespaces.h from .h headers 2019-01-25 15:12:09 +01:00
probe-file.h perf probe: Support SDT markers having reference counter (semaphore) 2018-09-24 04:44:54 -04:00
probe-finder.c
probe-finder.h
pstack.c
pstack.h
python-ext-sources
python.c perf python: Do not force closing original perf descriptor in evlist.get_pollfd() 2018-12-28 16:33:02 -03:00
rb_resort.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
rblist.c perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
rblist.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
record.c
rwsem.c
rwsem.h
s390-cpumcf-kernel.h perf report: Display arch specific diagnostic counter sets, starting with s390 2019-01-21 17:00:48 -03:00
s390-cpumsf-kernel.h perf report: Add raw report support for s390 auxiliary trace 2018-08-08 15:26:48 -03:00
s390-cpumsf.c perf report: Add s390 diagnosic sampling descriptor size 2019-02-14 13:31:08 -03:00
s390-cpumsf.h perf auxtrace: Support for perf report -D for s390 2018-08-03 10:34:18 -03:00
s390-sample-raw.c perf report: Display names in s390 diagnostic counter sets 2019-01-21 17:00:56 -03:00
sample-raw.c perf report: Display arch specific diagnostic counter sets, starting with s390 2019-01-21 17:00:48 -03:00
sample-raw.h perf report: Display arch specific diagnostic counter sets, starting with s390 2019-01-21 17:00:48 -03:00
sane_ctype.h
session.c perf session: Add process callback to reader object 2019-03-11 11:56:03 -03:00
session.h perf tools: Remove perf_tool from event_op2 2018-09-19 10:25:10 -03:00
setns.c
setup.py perf record: Bind the AIO user space buffers to nodes 2019-02-06 10:00:39 -03:00
smt.c
smt.h
sort.c perf report: Show all sort keys in help output 2019-03-19 16:15:42 -03:00
sort.h perf report: Show all sort keys in help output 2019-03-19 16:15:42 -03:00
srccode.c perf tools: Support 'srccode' output 2018-12-17 14:57:07 -03:00
srccode.h perf srccode: Move struct definition from map.h to srccode.h 2019-02-06 10:00:38 -03:00
srcline.c perf report: Don't shadow inlined symbol with different addr range 2019-02-19 12:30:12 -03:00
srcline.h perf callchain: Use cached rbtrees 2019-01-25 15:12:09 +01:00
stat-display.c perf annotate: Remove lots of headers from annotate.h 2019-01-25 15:12:08 +01:00
stat-shadow.c perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
stat.c perf stat: Fix --no-scale 2019-03-19 16:52:03 -03:00
stat.h perf tools: Remove perf_tool from event_op2 2018-09-19 10:25:10 -03:00
strbuf.c perf strbuf: Remove redundant va_end() in strbuf_addv() 2019-01-04 12:54:49 -03:00
strbuf.h
strfilter.c
strfilter.h
string.c
string2.h
strlist.c
strlist.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
svghelper.c perf svghelper: Fix unchecked usage of strncpy() 2018-12-17 14:59:20 -03:00
svghelper.h
symbol_conf.h perf report: Implement browsing of individual samples 2019-03-11 16:33:19 -03:00
symbol_fprintf.c perf symbols: Use cached rbtrees 2019-01-25 15:12:10 +01:00
symbol-elf.c perf/core improvements and fixes: 2019-02-09 13:16:01 +01:00
symbol-minimal.c perf symbols: Remove some unnecessary includes from symbol.h 2019-01-25 15:12:09 +01:00
symbol.c perf report: Implement browsing of individual samples 2019-03-11 16:33:19 -03:00
symbol.h perf symbols: Introduce map_symbol.h 2019-02-06 10:00:38 -03:00
syscalltbl.c perf trace arm64: Use generated syscall table 2018-07-24 14:53:01 -03:00
syscalltbl.h
target.c
target.h
term.c
term.h
thread_map.c
thread_map.h
thread-stack.c perf db-export: Add calls parent_id to enable creation of call trees 2019-03-01 14:50:47 -03:00
thread-stack.h perf db-export: Add calls parent_id to enable creation of call trees 2019-03-01 14:50:47 -03:00
thread.c perf thread: Generalize function to copy from thread addr space from intel-bts code 2019-03-06 17:55:35 -03:00
thread.h perf thread: Generalize function to copy from thread addr space from intel-bts code 2019-03-06 17:55:35 -03:00
time-utils.c perf time-utils: Add utility function to print time stamps in nanoseconds 2019-03-11 11:56:02 -03:00
time-utils.h perf time-utils: Add utility function to print time stamps in nanoseconds 2019-03-11 11:56:02 -03:00
tool.h perf tools: Handle PERF_RECORD_BPF_EVENT 2019-01-21 17:00:57 -03:00
top.c perf top: Move perf_top__reset_sample_counters() to after counts display 2018-12-17 14:58:47 -03:00
top.h perf top: Save and display the drop count stats 2018-12-17 14:58:33 -03:00
trace-event-info.c perf tools: Cleanup trace-event-info 'tdata' leak 2018-10-08 14:23:45 -03:00
trace-event-parse.c tools lib traceevent, perf tools: Rename 'struct tep_event_format' to 'struct tep_event' 2018-12-17 14:56:02 -03:00
trace-event-read.c perf tools: traceevent API cleanup, remove __tep_data2host*() 2018-12-17 14:56:08 -03:00
trace-event-scripting.c tools lib traceevent, perf tools: Rename struct pevent to struct tep_handle 2018-08-10 15:29:35 -03:00
trace-event.c tools lib traceevent, perf tools: Rename 'struct tep_event_format' to 'struct tep_event' 2018-12-17 14:56:02 -03:00
trace-event.h tools lib traceevent, perf tools: Rename 'struct tep_event_format' to 'struct tep_event' 2018-12-17 14:56:02 -03:00
trigger.h
tsc.c
tsc.h
units.c
units.h
unwind-libdw.c perf tools: Add missing include for symbols.h 2019-02-06 10:00:38 -03:00
unwind-libdw.h
unwind-libunwind-local.c pref tools: Add missing map.h includes 2019-02-06 10:00:38 -03:00
unwind-libunwind.c pref tools: Add missing map.h includes 2019-02-06 10:00:38 -03:00
unwind.h
usage.c
util-cxx.h
util.c perf tools: Add perf_exe() helper to find perf binary 2019-02-25 10:58:28 -03:00
util.h perf tools: Add perf_exe() helper to find perf binary 2019-02-25 10:58:28 -03:00
values.c
values.h
vdso.c pref tools: Add missing map.h includes 2019-02-06 10:00:38 -03:00
vdso.h
xyarray.c
xyarray.h
zlib.c perf tools: Remove duplicate headers 2019-01-21 15:15:57 -03:00