1
0
Fork 0
alistair23-linux/tools/perf/util
Namhyung Kim 41d5854113 perf record: Fix memory leak in vDSO found using ASAN
I got several memory leak reports from Asan with a simple command.  It
was because VDSO is not released due to the refcount.  Like in
__dsos_addnew_id(), it should put the refcount after adding to the list.

  $ perf record true
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0.030 MB perf.data (10 samples) ]

  =================================================================
  ==692599==ERROR: LeakSanitizer: detected memory leaks

  Direct leak of 439 byte(s) in 1 object(s) allocated from:
    #0 0x7fea52341037 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
    #1 0x559bce4aa8ee in dso__new_id util/dso.c:1256
    #2 0x559bce59245a in __machine__addnew_vdso util/vdso.c:132
    #3 0x559bce59245a in machine__findnew_vdso util/vdso.c:347
    #4 0x559bce50826c in map__new util/map.c:175
    #5 0x559bce503c92 in machine__process_mmap2_event util/machine.c:1787
    #6 0x559bce512f6b in machines__deliver_event util/session.c:1481
    #7 0x559bce515107 in perf_session__deliver_event util/session.c:1551
    #8 0x559bce51d4d2 in do_flush util/ordered-events.c:244
    #9 0x559bce51d4d2 in __ordered_events__flush util/ordered-events.c:323
    #10 0x559bce519bea in __perf_session__process_events util/session.c:2268
    #11 0x559bce519bea in perf_session__process_events util/session.c:2297
    #12 0x559bce2e7a52 in process_buildids /home/namhyung/project/linux/tools/perf/builtin-record.c:1017
    #13 0x559bce2e7a52 in record__finish_output /home/namhyung/project/linux/tools/perf/builtin-record.c:1234
    #14 0x559bce2ed4f6 in __cmd_record /home/namhyung/project/linux/tools/perf/builtin-record.c:2026
    #15 0x559bce2ed4f6 in cmd_record /home/namhyung/project/linux/tools/perf/builtin-record.c:2858
    #16 0x559bce422db4 in run_builtin /home/namhyung/project/linux/tools/perf/perf.c:313
    #17 0x559bce2acac8 in handle_internal_command /home/namhyung/project/linux/tools/perf/perf.c:365
    #18 0x559bce2acac8 in run_argv /home/namhyung/project/linux/tools/perf/perf.c:409
    #19 0x559bce2acac8 in main /home/namhyung/project/linux/tools/perf/perf.c:539
    #20 0x7fea51e76d09 in __libc_start_main ../csu/libc-start.c:308

  Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7fea52341037 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
    #1 0x559bce520907 in nsinfo__copy util/namespaces.c:169
    #2 0x559bce50821b in map__new util/map.c:168
    #3 0x559bce503c92 in machine__process_mmap2_event util/machine.c:1787
    #4 0x559bce512f6b in machines__deliver_event util/session.c:1481
    #5 0x559bce515107 in perf_session__deliver_event util/session.c:1551
    #6 0x559bce51d4d2 in do_flush util/ordered-events.c:244
    #7 0x559bce51d4d2 in __ordered_events__flush util/ordered-events.c:323
    #8 0x559bce519bea in __perf_session__process_events util/session.c:2268
    #9 0x559bce519bea in perf_session__process_events util/session.c:2297
    #10 0x559bce2e7a52 in process_buildids /home/namhyung/project/linux/tools/perf/builtin-record.c:1017
    #11 0x559bce2e7a52 in record__finish_output /home/namhyung/project/linux/tools/perf/builtin-record.c:1234
    #12 0x559bce2ed4f6 in __cmd_record /home/namhyung/project/linux/tools/perf/builtin-record.c:2026
    #13 0x559bce2ed4f6 in cmd_record /home/namhyung/project/linux/tools/perf/builtin-record.c:2858
    #14 0x559bce422db4 in run_builtin /home/namhyung/project/linux/tools/perf/perf.c:313
    #15 0x559bce2acac8 in handle_internal_command /home/namhyung/project/linux/tools/perf/perf.c:365
    #16 0x559bce2acac8 in run_argv /home/namhyung/project/linux/tools/perf/perf.c:409
    #17 0x559bce2acac8 in main /home/namhyung/project/linux/tools/perf/perf.c:539
    #18 0x7fea51e76d09 in __libc_start_main ../csu/libc-start.c:308

  SUMMARY: AddressSanitizer: 471 byte(s) leaked in 2 allocation(s).

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lore.kernel.org/lkml/20210315045641.700430-1-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2021-03-24 10:38:56 -03:00
..
arm-spe-decoder perf arm-spe: Store operation type in packet 2021-02-12 17:43:24 -03:00
bpf_skel perf stat: Enable counting events for BPF programs 2021-01-20 14:25:28 -03:00
c++ perf clang: Fix build with Clang 9 2020-01-14 12:02:19 -03:00
cs-etm-decoder perf cs-etm: Update ARM's CoreSight hardware tracing OpenCSD library to v1.0.0 2021-01-20 14:34:20 -03:00
include tools arch: Update arch/x86/lib/mem{cpy,set}_64.S copies used in 'perf bench mem memcpy' 2020-11-12 17:55:41 -03:00
intel-pt-decoder perf intel-pt: Amend decoder to track the NR flag 2021-02-18 16:13:56 -03:00
libunwind perf tools: Remove debug.h from places where it is not needed 2019-09-20 09:19:20 -03:00
scripting-engines perf scripting python: Avoid declaring function pointers with a visibility attribute 2020-11-03 08:32:43 -03:00
Build perf tools: Add OCaml demangling 2021-02-17 15:15:06 -03:00
PERF-VERSION-GEN perf version: Append 12 git SHA chars to the version string 2019-05-28 18:37:44 -03:00
affinity.c perf affinity: Add infrastructure to save/restore affinity 2019-11-28 08:08:38 -03:00
affinity.h perf affinity: Add infrastructure to save/restore affinity 2019-11-28 08:08:38 -03:00
annotate.c perf annotate: Fix jump parsing for C++ code. 2021-02-11 18:23:53 -03:00
annotate.h perf annotate: Fix jump parsing for C++ code. 2021-02-11 18:23:53 -03:00
archinsn.h perf script: Support insn output for normal samples 2019-03-11 11:56:02 -03:00
arm-spe.c perf arm-spe: Set sample's data source field 2021-02-16 11:52:00 -03:00
arm-spe.h perf tools: Add ARM Statistical Profiling Extensions (SPE) support 2018-01-17 10:23:31 -03:00
auxtrace.c perf auxtrace: Fix auxtrace queue conflict 2021-03-10 09:16:47 -03:00
auxtrace.h perf auxtrace: Automatically group aux-output events 2021-02-18 16:11:19 -03:00
block-info.c perf block-info: Support color ops to print block percents in color 2020-03-09 21:43:25 -03:00
block-info.h perf block-info: Allow selecting which columns to report and its order 2020-03-09 21:43:25 -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-event.c perf top: Fix BPF support related crash with perf_event_paranoid=3 + kptr_restrict 2021-03-16 10:01:44 -03:00
bpf-event.h perf bpf: Decouple creating the evlist from adding the SB event 2020-05-05 16:35:29 -03:00
bpf-loader.c perf evlist: Use the right prefix for 'struct evlist' 'find' methods 2020-11-30 09:48:07 -03:00
bpf-loader.h perf bpf: Enclose libbpf.h include within HAVE_LIBBPF_SUPPORT 2020-11-04 09:42:40 -03:00
bpf-prologue.c perf bpf: Fix bpf prologue generation 2020-06-09 12:40:04 -03:00
bpf-prologue.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bpf_counter.c perf stat: Enable counting events for BPF programs 2021-01-20 14:25:28 -03:00
bpf_counter.h perf stat: Enable counting events for BPF programs 2021-01-20 14:25:28 -03: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
branch.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
branch.h perf branch: Replace zero-length array with flexible-array 2020-05-28 10:03:27 -03:00
build-id.c perf buildid-cache: Don't skip 16-byte build-ids 2021-02-18 16:41:40 -03:00
build-id.h perf buildid-cache: Don't skip 16-byte build-ids 2021-02-18 16:41:40 -03:00
cache.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cacheline.c perf tools: Remove perf.h from source files not needing it 2019-08-29 17:38:32 -03:00
cacheline.h perf cacheline: Move cacheline related routines to separate files 2019-08-26 11:58:29 -03:00
call-path.c perf tools: Use list_del_init() more thorougly 2019-07-09 10:13:27 -03:00
call-path.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
callchain.c perf streams: Report hot streams 2020-10-14 13:34:26 -03:00
callchain.h perf streams: Report hot streams 2020-10-14 13:34:26 -03:00
cap.c perf tools: Add helpers to use capabilities if present 2019-08-14 10:48:39 -03:00
cap.h perf tools: Support CAP_PERFMON capability 2020-04-16 12:19:08 -03:00
cgroup.c perf stat: Use nftw() instead of ftw() 2021-02-08 16:39:14 -03:00
cgroup.h perf tools: Allow creation of cgroup without open 2020-09-28 09:18:06 -03:00
clockid.c perf tools: Add clockid_name function 2020-08-06 09:33:57 -03:00
clockid.h perf tools: Add clockid_name function 2020-08-06 09:33:57 -03:00
cloexec.c perf tool: Make perf tool aware of SELinux access control 2020-05-28 10:03:26 -03:00
cloexec.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
color.c perf tools: Remove needless evlist.h include directives 2019-08-31 22:24:10 -03:00
color.h perf color: Add missing stdarg.g to color.h 2019-01-25 15:12:08 +01:00
color_config.c perf tools: Remove needless evlist.h include directives 2019-08-31 22:24:10 -03:00
comm.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
comm.h perf comm: Remove needless headers from comm.h 2019-01-25 15:12:09 +01:00
compress.h perf report: Implement perf.data record decompression 2019-05-15 16:36:49 -03:00
config.c perf config: Make perf_config_global() global 2021-01-20 14:34:21 -03:00
config.h perf config: Make perf_config_global() global 2021-01-20 14:34:21 -03:00
copyfile.c perf tools: Fix mode setting in copyfile_mode_ns() 2019-10-15 12:05:18 -03:00
copyfile.h perf copyfile: Move copyfile routines to separate files 2019-09-25 09:51:49 -03:00
counts.c perf counts: Reset prev_raw_counts counts 2020-05-28 10:03:27 -03:00
counts.h perf counts: Reset prev_raw_counts counts 2020-05-28 10:03:27 -03:00
cpu-set-sched.h perf tools: Add fallback versions for CPU_{OR,EQUAL}() 2019-02-06 10:00:39 -03:00
cpumap.c perf stat aggregation: Add separate thread member 2020-12-24 10:05:28 -03:00
cpumap.h perf stat aggregation: Add separate thread member 2020-12-24 10:05:28 -03:00
cputopo.c perf cpumap: Remove needless includes from cpumap.h 2019-08-22 17:16:57 -03:00
cputopo.h perf tools: Replace zero-length array with flexible-array 2020-05-28 10:03:27 -03:00
cs-etm.c perf cs-etm: Fix corrupt data after perf inject from 2020-09-01 12:15:52 -03:00
cs-etm.h perf cs-etm: Move definition of 'traceid_list' global variable from header file 2020-05-05 16:35:32 -03:00
data-convert-bt.c perf tools: Replace lkml.org links with lore 2021-02-11 12:54:27 -03:00
data-convert-bt.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
data-convert.h perf data: Add support to store time of day in CTF data conversion 2020-08-06 09:43:37 -03:00
data.c perf data: Add is_perf_data function 2020-11-27 08:37:15 -03:00
data.h perf data: Add is_perf_data function 2020-11-27 08:37:15 -03:00
db-export.c perf script: Add branch types for VM-Entry and VM-Exit 2021-02-18 16:12:51 -03:00
db-export.h perf evsel: Rename struct perf_evsel to struct evsel 2019-07-29 18:34:42 -03:00
debug.c perf debug: Add debug_set_display_time function 2021-01-20 14:34:20 -03:00
debug.h perf debug: Add debug_set_display_time function 2021-01-20 14:34:20 -03:00
demangle-java.c perf jvmti: Fix demangling Java symbols 2020-05-28 10:03:28 -03:00
demangle-java.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
demangle-ocaml.c perf tools: Add OCaml demangling 2021-02-17 15:15:06 -03:00
demangle-ocaml.h perf tools: Add OCaml demangling 2021-02-17 15:15:06 -03:00
demangle-rust.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
demangle-rust.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dso.c perf tools: Add filename__decompress function 2020-11-27 08:36:53 -03:00
dso.h perf tools: Add filename__decompress function 2020-11-27 08:36:53 -03:00
dsos.c perf tools: Align buildid list output for short build ids 2020-10-14 11:28:52 -03:00
dsos.h perf dso: Move dso_id from 'struct map' to 'struct dso' 2019-11-19 19:12:26 -03: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 perf probe: Change function definition check due to broken DWARF 2020-11-27 14:36:15 -03:00
dwarf-aux.h perf probe: Fix to show function entry line as probe-able 2019-11-06 15:43:06 -03:00
dwarf-regs.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
env.c perf env: Conditionally compile BPF support code on having HAVE_LIBBPF_SUPPORT 2020-11-04 09:42:41 -03:00
env.h perf env: Conditionally compile BPF support code on having HAVE_LIBBPF_SUPPORT 2020-11-04 09:42:41 -03:00
event.c perf script: Support filtering by hex address 2021-02-08 17:09:11 -03:00
event.h perf script: Add branch types for VM-Entry and VM-Exit 2021-02-18 16:12:51 -03:00
events_stats.h perf tools: Move 'struct events_stats' and prototypes to separate header 2019-08-31 22:24:10 -03:00
evlist.c perf stat: Fix use-after-free when -r option is used 2021-03-06 16:54:31 -03:00
evlist.h perf record: Fix continue profiling after draining the buffer 2021-02-18 13:30:09 -03:00
evsel.c perf stat: Fix wrong skipping for per-die aggregation 2021-03-06 16:54:30 -03:00
evsel.h perf stat: Fix wrong skipping for per-die aggregation 2021-03-06 16:54:30 -03:00
evsel_config.h perf evsel: Rename *perf_evsel__get_config_term() & friends to evsel__env() 2020-05-28 10:03:24 -03:00
evsel_fprintf.c perf tools: Add 'evlist' control command 2021-01-20 14:34:21 -03:00
evsel_fprintf.h perf evsel: Rename perf_evsel__fprintf() to evsel__fprintf() 2020-05-28 10:03:24 -03:00
evswitch.c perf evlist: Use the right prefix for 'struct evlist' 'find' methods 2020-11-30 09:48:07 -03:00
evswitch.h perf evswitch: Introduce init() method to set the on/off evsels from the command line 2019-08-15 12:25:55 -03:00
expr.c perf expr: Force encapsulation on expr_id_data 2020-11-16 14:09:18 -03:00
expr.h perf expr: Force encapsulation on expr_id_data 2020-11-16 14:09:18 -03:00
expr.l perf expr: Add < and > operators 2020-06-22 16:28:09 -03:00
expr.y perf expr: Force encapsulation on expr_id_data 2020-11-16 14:09:18 -03:00
find-map.c perf tools: Make find_vdso_map() more modular 2019-01-08 13:28:13 -03:00
fncache.c perf pmu: Use file system cache to optimize sysfs access 2019-11-28 08:08:38 -03:00
fncache.h perf pmu: Use file system cache to optimize sysfs access 2019-11-28 08:08:38 -03:00
genelf.c perf jit: Move test functionality in to a test 2019-11-29 12:20:45 -03:00
genelf.h perf jvmti: Include JVMTI support for s390 2019-09-25 16:26:41 -03:00
genelf_debug.c perf jit: Fix inaccurate DWARF line table 2020-05-29 16:51:38 -03:00
generate-cmdlist.sh perf tools: Rename HAVE_SYSCALL_TABLE to HAVE_SYSCALL_TABLE_SUPPORT 2018-04-12 10:33:31 -03:00
get_current_dir_name.c perf tools: Remove duplicate headers 2019-08-26 11:58:29 -03:00
get_current_dir_name.h perf tools: Move get_current_dir_name() cond prototype out of util.h 2019-07-09 10:13:26 -03:00
hashmap.c perf tools: Update copy of libbpf's hashmap.c 2020-11-03 08:26:55 -03:00
hashmap.h perf tools: Update copy of libbpf's hashmap.c 2020-11-27 14:19:33 -03:00
header.c perf tools: Cast (struct timeval).tv_sec when printing 2021-03-06 16:54:24 -03:00
header.h perf header: Store clock references for -k/--clockid option 2020-08-06 09:35:06 -03:00
help-unknown-cmd.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
help-unknown-cmd.h
…
hist.c perf report: Support instruction latency 2021-02-08 16:25:00 -03:00
hist.h perf report: Support instruction latency 2021-02-08 16:25:00 -03:00
intel-bts.c perf evsel: Rename __perf_evsel__sample_size() to __evsel__sample_size() 2020-05-05 16:35:30 -03:00
intel-bts.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
intel-pt.c perf intel-pt: Split VM-Entry and VM-Exit branches 2021-02-18 16:15:38 -03:00
intel-pt.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
intlist.c perf intlist: Change 'struct intlist' int member to 'unsigned long' 2021-02-08 17:02:00 -03:00
intlist.h perf intlist: Change 'struct intlist' int member to 'unsigned long' 2021-02-08 17:02:00 -03:00
jit.h perf inject jit: Add namespaces support 2021-02-03 13:10:44 -03:00
jitdump.c perf inject jit: Add namespaces support 2021-02-03 13:10:44 -03:00
jitdump.h perf tools: Replace zero-length array with flexible-array 2020-05-28 10:03:27 -03:00
kvm-stat.h perf kvm: Add arch neutral function to choose event for perf kvm record 2019-09-20 10:28:26 -03:00
levenshtein.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
levenshtein.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
llvm-utils.c perf llvm: Add debug hint message about missing kernel-devel package 2020-03-04 10:34:10 -03:00
llvm-utils.h perf tools: Remove debug.h from header files not needing it 2019-08-29 17:38:32 -03:00
lzma.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
machine.c perf machine: Factor out machine__idle_thread() 2021-02-18 16:14:33 -03:00
machine.h perf machine: Factor out machine__idle_thread() 2021-02-18 16:14:33 -03:00
map.c perf map: Tighten snprintf() string precision to pass gcc check on some 32-bit arches 2021-03-06 16:54:32 -03:00
map.h perf tools: Store build id when available in PERF_RECORD_MMAP2 metadata events 2020-12-28 10:01:55 -03:00
map_symbol.h perf sort: Add sort option for data page size 2020-12-19 17:52:24 -03:00
maps.h perf maps: Rename map_groups.h to maps.h 2019-11-26 11:07:46 -03:00
mem-events.c perf c2c: Support data block and addr block 2021-02-08 16:25:00 -03:00
mem-events.h perf c2c: Support data block and addr block 2021-02-08 16:25:00 -03:00
mem2node.c perf mem2node: Improve warning if detected no memory nodes 2020-11-04 09:42:40 -03:00
mem2node.h perf env: Remove env.h from other headers where just a fwd decl is needed 2019-08-31 19:10:40 -03:00
memswap.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
memswap.h perf memswap: Adopt 'struct u64_swap' from evsel.h 2019-09-20 09:19:22 -03:00
metricgroup.c perf metricgroup: Remove unneeded semicolon 2021-02-17 15:19:59 -03:00
metricgroup.h perf tools: Copy metric events properly when expand cgroups 2020-09-28 09:16:21 -03:00
mmap.c perf record: Fix binding of AIO user space buffers to nodes 2020-03-12 11:32:46 -03:00
mmap.h perf record: Adapt affinity to machines with #CPUs > 1K 2020-01-06 11:46:09 -03:00
namespaces.c perf inject jit: Add namespaces support 2021-02-03 13:10:44 -03:00
namespaces.h perf inject jit: Add namespaces support 2021-02-03 13:10:44 -03:00
ordered-events.c perf tools: Remove unneeded semicolons 2020-04-30 10:48:32 -03:00
ordered-events.h perf tools: Replace zero-length array with flexible-array 2020-05-28 10:03:27 -03:00
parse-branch-options.c perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
parse-branch-options.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
parse-events.c perf pmu: Validate raw event with sysfs exported format bits 2021-03-15 10:12:02 -03:00
parse-events.h perf parse-events: Reduce casts around bp_addr 2020-09-28 09:22:39 -03:00
parse-events.l perf tools: Support the auxiliary event 2021-02-08 16:25:00 -03:00
parse-events.y perf tools: Fix event's PMU name parsing 2021-03-06 16:54:27 -03:00
parse-regs-options.c perf record: Fix memory leak when using '--user-regs=?' to list registers 2020-12-17 14:36:16 -03:00
parse-regs-options.h perf parse-regs: Split parse_regs 2019-05-15 16:36:49 -03:00
parse-sublevel-options.c perf tools: Add general function to parse sublevel options 2020-08-14 09:15:47 -03:00
parse-sublevel-options.h perf tools: Add general function to parse sublevel options 2020-08-14 09:15:47 -03:00
path.c perf tools: Remove needless evlist.h include directives 2019-08-31 22:24:10 -03:00
path.h perf tools: Remove needless evlist.h include directives 2019-08-31 22:24:10 -03:00
perf-hooks-list.h
…
perf-hooks.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
perf-hooks.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
perf_api_probe.c perf record: Add --buildid-mmap option to enable PERF_RECORD_MMAP2's build id 2020-12-28 11:35:57 -03:00
perf_api_probe.h perf record: Add --buildid-mmap option to enable PERF_RECORD_MMAP2's build id 2020-12-28 11:35:57 -03:00
perf_event_attr_fprintf.c perf tools: Support PERF_SAMPLE_WEIGHT_STRUCT 2021-02-08 16:25:00 -03:00
perf_regs.c perf tools: Avoid 'sample_reg_masks' being const + weak 2019-10-10 09:29:33 -03:00
perf_regs.h perf tools: Fix arm64 build error with gcc-11 2021-02-18 16:24:43 -03:00
pfm.c perf tools: Add optional support for libpfm4 2020-05-29 16:51:38 -03:00
pfm.h perf tools: Add optional support for libpfm4 2020-05-29 16:51:38 -03:00
pmu.c perf pmu: Validate raw event with sysfs exported format bits 2021-03-15 10:12:02 -03:00
pmu.h perf pmu: Validate raw event with sysfs exported format bits 2021-03-15 10:12:02 -03:00
pmu.l
…
pmu.y
…
print_binary.c perf python scripting: Fix printable strings in python3 scripts 2020-10-01 12:10:56 -03:00
print_binary.h Merge branch 'linus' into perf/core, to fix conflicts 2017-11-07 10:30:18 +01:00
probe-event.c Merge branch 'perf/urgent' into perf/core 2021-02-16 11:52:16 -03:00
probe-event.h perf probe: Trace a magic number if variable is not found 2019-11-18 19:09:23 -03:00
probe-file.c perf probe: Fixup Arm64 SDT arguments 2020-12-28 09:53:28 -03:00
probe-file.h perf probe: Support DW_AT_const_value constant value 2019-11-18 19:08:02 -03:00
probe-finder.c perf probe: Add protection to avoid endless loop 2021-02-08 16:25:00 -03:00
probe-finder.h perf probe: Fall back to debuginfod query if debuginfo and source not found locally 2020-09-18 09:20:47 -03:00
pstack.c perf tools: Replace zero-length array with flexible-array 2020-05-28 10:03:27 -03:00
pstack.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
python-ext-sources perf stat: Fix wrong skipping for per-die aggregation 2021-03-06 16:54:30 -03:00
python.c perf stat: Enable counting events for BPF programs 2021-01-20 14:25:28 -03:00
rb_resort.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
rblist.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 305 2019-06-05 17:37:04 +02:00
rblist.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
record.c perf tools: Support the auxiliary event 2021-02-08 16:25:00 -03:00
record.h perf record: Add support for PERF_SAMPLE_CODE_PAGE_SIZE 2021-01-20 14:34:20 -03:00
rlimit.c perf tools: Introduce rlimit__bump_memlock() helper 2019-07-09 14:59:11 -03:00
rlimit.h perf tools: Introduce rlimit__bump_memlock() helper 2019-07-09 14:59:11 -03:00
rwsem.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
rwsem.h
…
s390-cpumcf-kernel.h perf s390-cpumsf: Implement ->evsel_is_auxtrace() callback 2020-04-16 12:19:15 -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 evlist: Use the right prefix for 'struct evlist' sample id lookup methods 2020-11-30 14:17:57 -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 evlist: Use the right prefix for 'struct evlist' raw samples methods 2020-11-30 15:15:30 -03:00
sample-raw.c perf evlist: Use the right prefix for 'struct evlist' raw samples methods 2020-11-30 15:15:30 -03:00
sample-raw.h perf evlist: Use the right prefix for 'struct evlist' raw samples methods 2020-11-30 15:15:30 -03:00
session.c perf machine: Factor out machine__idle_thread() 2021-02-18 16:14:33 -03:00
session.h perf session: Add facility to peek at all events 2019-11-22 10:48:13 -03:00
setns.c perf namespaces: Move the conditional setns() prototype to namespaces.h 2019-07-09 10:13:26 -03:00
setup.py perf tools: Add 'evlist' control command 2021-01-20 14:34:21 -03:00
sideband_evlist.c perf evlist: Use the right prefix for 'struct evlist' create maps methods 2020-11-30 14:56:52 -03:00
smt.c perf tools: Simplify checking if SMT is active. 2020-05-05 16:35:29 -03:00
smt.h
…
sort.c perf report: Fix -F for branch & mem modes 2021-03-06 16:54:32 -03:00
sort.h perf report: Support instruction latency 2021-02-08 16:25:00 -03:00
spark.c perf diff: Report noisy for cycles diff 2019-10-11 10:57:00 -03:00
spark.h perf diff: Report noisy for cycles diff 2019-10-11 10:57:00 -03:00
srccode.c perf pmu: Use file system cache to optimize sysfs access 2019-11-28 08:08:38 -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: Make perf able to build with latest libbfd 2020-01-30 11:55:26 +01:00
srcline.h perf callchain: Use cached rbtrees 2019-01-25 15:12:09 +01:00
stat-display.c perf tools: Cast (struct timeval).tv_sec when printing 2021-03-06 16:54:24 -03:00
stat-shadow.c perf stat: Support L2 Topdown events 2021-02-08 16:25:00 -03:00
stat.c perf stat: Fix wrong skipping for per-die aggregation 2021-03-06 16:54:30 -03:00
stat.h perf stat: Support L2 Topdown events 2021-02-08 16:25:00 -03:00
strbuf.c perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
strbuf.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
stream.c perf streams: Report hot streams 2020-10-14 13:34:26 -03:00
stream.h perf streams: Report hot streams 2020-10-14 13:34:26 -03:00
strfilter.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
strfilter.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
string.c perf tools: Add OCaml demangling 2021-02-17 15:15:06 -03:00
string2.h perf tools: Add OCaml demangling 2021-02-17 15:15:06 -03:00
strlist.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
strlist.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
svghelper.c perf env: Remove needless cpumap.h header 2019-09-20 09:19:21 -03:00
svghelper.h perf timechart: Refactor svg_build_topology_map() 2019-08-29 17:38:31 -03:00
symbol-elf.c perf tools: Add OCaml demangling 2021-02-17 15:15:06 -03:00
symbol-minimal.c perf tools: Pass build_id object to dso__set_build_id() 2020-10-14 08:46:42 -03:00
symbol.c perf symbol: Remove redundant libbfd checks 2021-02-18 16:38:31 -03:00
symbol.h perf tools: Fix crash with non-jited bpf progs 2020-11-03 08:30:34 -03:00
symbol_conf.h perf script: Support filtering by hex address 2021-02-08 17:09:11 -03:00
symbol_fprintf.c perf symbols: Move symsrc prototypes to a separate header 2019-08-31 22:24:05 -03:00
symsrc.h perf symbols: Move symsrc prototypes to a separate header 2019-08-31 22:24:05 -03:00
synthetic-events.c perf synthetic events: Avoid write of uninitialized memory when generating PERF_RECORD_MMAP* records 2021-03-10 09:20:59 -03:00
synthetic-events.h perf record: Support synthesizing cgroup events 2020-04-03 09:37:55 -03:00
syscalltbl.c perf trace: Use zalloc() to make sure all fields are zeroed in the syscalltbl constructor 2020-05-29 16:50:29 -03:00
syscalltbl.h perf trace: Remove union from syscalltbl, all the fields are needed 2020-05-29 16:50:26 -03:00
target.c perf stat: Enable counting events for BPF programs 2021-01-20 14:25:28 -03:00
target.h perf stat: Enable counting events for BPF programs 2021-01-20 14:25:28 -03:00
term.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
term.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
thread-stack.c perf thread-stack: Add thread_stack__br_sample_late() 2020-05-05 16:35:29 -03:00
thread-stack.h perf thread-stack: Add thread_stack__br_sample_late() 2020-05-05 16:35:29 -03:00
thread.c perf callchain: Stitch LBR call stack 2020-04-18 09:05:01 -03:00
thread.h perf callchain: Stitch LBR call stack 2020-04-18 09:05:01 -03:00
thread_map.c libperf: Rename the PERF_RECORD_ structs to have a "perf" prefix 2019-08-29 08:36:12 -03:00
thread_map.h libperf: Rename the PERF_RECORD_ structs to have a "perf" prefix 2019-08-29 08:36:12 -03:00
time-utils.c perf script: Fix --reltime with --time 2019-10-15 08:36:22 -03:00
time-utils.h perf script: Fix --reltime with --time 2019-10-15 08:36:22 -03:00
tool.h perf tools: Add support for PERF_RECORD_TEXT_POKE 2020-07-10 08:20:01 -03:00
top.c perf evsel: Rename *perf_evsel__*name() to *evsel__*name() 2020-05-05 16:35:30 -03:00
top.h perf top: Move sb_evlist to 'struct perf_top' 2020-05-05 16:35:29 -03:00
topdown.c perf record: Support sample-read topdown metric group 2020-09-17 15:47:58 -03:00
topdown.h perf record: Support sample-read topdown metric group 2020-09-17 15:47:58 -03:00
trace-event-info.c perf trace-event-info: Rename for_each_event. 2021-02-03 13:13:53 -03:00
trace-event-parse.c perf tools: Remove unused trace_find_next_event() 2019-11-05 08:39:27 -03:00
trace-event-read.c perf traceevent: Ensure read cmdlines are null terminated. 2021-03-06 16:54:26 -03:00
trace-event-scripting.c perf tools: Remove perf.h from source files not needing it 2019-08-29 17:38:32 -03:00
trace-event.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
trace-event.h perf tools: Remove unused trace_find_next_event() 2019-11-05 08:39:27 -03:00
trigger.h perf tools: Remove debug.h from header files not needing it 2019-08-29 17:38:32 -03:00
tsc.c perf tsc: Support cap_user_time_short for event TIME_CONV 2020-09-22 13:46:40 -03:00
tsc.h perf tsc: Calculate timestamp with cap_user_time_short 2020-09-22 13:45:21 -03:00
units.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
units.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
unwind-libdw.c perf unwind: Set userdata for all __report_module() paths 2021-02-18 14:20:32 -03:00
unwind-libdw.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
unwind-libunwind-local.c perf tools: Replace zero-length array with flexible-array 2020-05-28 10:03:27 -03:00
unwind-libunwind.c perf maps: Rename 'mg' variables to 'maps' 2019-11-26 11:07:46 -03:00
unwind.h perf maps: Merge 'struct maps' with 'struct map_groups' 2019-11-26 11:07:46 -03:00
usage.c perf tools: Remove debug.h from places where it is not needed 2019-09-20 09:19:20 -03:00
util.c perf tools: Support CAP_PERFMON capability 2020-04-16 12:19:08 -03:00
util.h perf tests: Call test_attr__open() directly 2020-09-10 11:55:37 -03:00
values.c perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
values.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vdso.c perf record: Fix memory leak in vDSO found using ASAN 2021-03-24 10:38:56 -03:00
vdso.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
zlib.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
zstd.c perf tools: Use %zd for size_t printf formats on 32-bit 2020-09-01 12:15:21 -03:00