linux-stable/tools/perf/util
Petr Pavlu dc4d07ddc4 x86/retpoline,kprobes: Skip optprobe check for indirect jumps with retpolines and IBT
commit 833fd800bf upstream.

The kprobes optimization check can_optimize() calls
insn_is_indirect_jump() to detect indirect jump instructions in
a target function. If any is found, creating an optprobe is disallowed
in the function because the jump could be from a jump table and could
potentially land in the middle of the target optprobe.

With retpolines, insn_is_indirect_jump() additionally looks for calls to
indirect thunks which the compiler potentially used to replace original
jumps. This extra check is however unnecessary because jump tables are
disabled when the kernel is built with retpolines. The same is currently
the case with IBT.

Based on this observation, remove the logic to look for calls to
indirect thunks and skip the check for indirect jumps altogether if the
kernel is built with retpolines or IBT. Remove subsequently the symbols
__indirect_thunk_start and __indirect_thunk_end which are no longer
needed.

Dropping this logic indirectly fixes a problem where the range
[__indirect_thunk_start, __indirect_thunk_end] wrongly included also the
return thunk. It caused that machines which used the return thunk as
a mitigation and didn't have it patched by any alternative ended up not
being able to use optprobes in any regular function.

Fixes: 0b53c374b9 ("x86/retpoline: Use -mfunction-return")
Suggested-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Suggested-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Link: https://lore.kernel.org/r/20230711091952.27944-3-petr.pavlu@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-08-23 17:32:41 +02:00
..
arm-spe-decoder perf arm-spe: Add raw decoding for SPEv1.3 MTE and MOPS load/store 2023-04-04 09:39:57 -03:00
bpf_skel perf bpf: Move the declaration of struct rq 2023-07-19 16:36:40 +02:00
c++ perf clang: Fix header include for LLVM >= 14 2022-04-22 18:39:34 -03:00
cs-etm-decoder perf cs-etm: Use bool type for boolean values 2023-04-24 14:42:20 -03:00
hisi-ptt-decoder perf auxtrace arm64: Add support for parsing HiSilicon PCIe Trace packet 2022-10-15 10:13:16 -03:00
include tools headers: Update the copy of x86's memcpy_64.S used in 'perf bench' 2022-10-25 17:40:48 -03:00
intel-pt-decoder tools: Rename __fallthrough to fallthrough 2023-04-06 21:41:00 -03:00
libunwind perf unwind arm64: Use perf's copy of kernel headers 2022-05-26 12:36:58 -03:00
scripting-engines perf map: Add helper for ->map_ip() and ->unmap_ip() 2023-04-06 22:10:17 -03:00
Build perf build: Don't compile demangle-cxx.cpp if not necessary 2023-05-26 15:25:45 -03:00
PERF-VERSION-GEN perf tools: Don't include signature in version strings 2023-01-02 12:34:06 -03:00
affinity.c perf tools: Use dedicated non-atomic clear/set bit helpers 2022-12-05 09:29:06 -03:00
affinity.h perf affinity: Add infrastructure to save/restore affinity 2019-11-28 08:08:38 -03:00
amd-sample-raw.c perf script ibs: Change bit description according to latest AMD PPR ("Processor Programming Reference") 2023-04-10 19:29:52 -03:00
annotate.c Disable building BPF based features by default for v6.4. 2023-05-07 11:32:18 -07:00
annotate.h perf annotate: Own objdump_path and disassembler_style strings 2023-04-04 09:39:56 -03:00
archinsn.h
arm-spe.c perf arm-spe: Add SVE flags to the SPE samples 2023-03-20 19:28:11 -03:00
arm-spe.h
arm64-frame-pointer-unwind-support.c perf unwind: Don't show unwind error messages when augmenting frame pointer stack 2022-04-09 12:34:29 -03:00
arm64-frame-pointer-unwind-support.h perf unwind arm64: Remove needless event.h & thread.h includes 2022-10-27 16:37:26 -03:00
auxtrace.c perf map: Add accessor for dso 2023-04-04 16:41:57 -03:00
auxtrace.h perf intel-pt: Synthesize cycle events 2023-02-17 11:02:44 -03:00
block-info.c perf map: Add accessor for dso 2023-04-04 16:41:57 -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: Move debug code behind ifndef NDEBUG 2023-04-04 09:39:56 -03:00
block-range.h
bpf-event.c perf map: Add accessor for dso 2023-04-04 16:41:57 -03:00
bpf-event.h perf bpf: Remove unused pthread.h include 2022-10-04 08:55:19 -03:00
bpf-filter.c perf bpf filter: Show warning for missing sample flags 2023-03-15 11:08:36 -03:00
bpf-filter.h perf bpf filter: Add logical OR operator 2023-03-15 11:08:36 -03:00
bpf-filter.l perf bpf filter: Add logical OR operator 2023-03-15 11:08:36 -03:00
bpf-filter.y perf bpf filter: Add logical OR operator 2023-03-15 11:08:36 -03:00
bpf-loader.c perf bpf: Remove pre libbpf 1.0 conditional logic 2023-03-14 08:29:46 -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 perf bpf: No need to include headers just use forward declarations 2022-10-31 11:05:41 -03:00
bpf-utils.c perf bpf: 8 byte align bpil data 2022-06-28 12:05:25 -03:00
bpf-utils.h perf bpf: Pull in bpf_program__get_prog_info_linear() 2021-11-01 18:16:40 -03:00
bpf_counter.c perf bperf: Avoid use after free via unrelated 'struct evsel' anonymous union field 2023-04-11 09:22:25 -03:00
bpf_counter.h perf build: Properly guard libbpf includes 2023-01-10 10:51:39 -03:00
bpf_counter_cgroup.c perf stat: Fix handling of unsupported cgroup events when using BPF counters 2023-01-04 10:52:07 -03:00
bpf_ftrace.c perf evlist: Rename cpus to user_requested_cpus 2022-04-01 16:19:35 -03:00
bpf_kwork.c perf kwork: Remove includes not needed in kwork.h 2022-10-31 11:06:46 -03:00
bpf_lock_contention.c perf map: Add helper for ->map_ip() and ->unmap_ip() 2023-04-06 22:10:17 -03:00
bpf_map.c perf: Stop using bpf_map__def() API 2022-01-12 17:01:38 -08:00
bpf_map.h perf bpf: No need to include compiler.h when HAVE_LIBBPF_SUPPORT is true 2022-10-27 16:37:26 -03:00
bpf_off_cpu.c perf off_cpu: Fix a typo in BTF tracepoint name, it should be 'btf_trace_sched_switch' 2022-12-14 11:24:31 -03:00
branch.c perf script: Show branch speculation info 2023-02-02 17:18:31 -03:00
branch.h perf script: Show branch speculation info 2023-02-02 17:18:31 -03:00
build-id.c perf map: Add accessor for dso 2023-04-04 16:41:57 -03:00
build-id.h perf buildid-cache: Add guestmount'd files to the build ID cache 2022-07-20 11:07:53 -03:00
cache.h
cacheline.c
cacheline.h perf c2c: Add report option to show false sharing in adjacent cachelines 2023-02-16 09:33:45 -03:00
call-path.c
call-path.h perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
callchain.c perf map: Changes to reference counting 2023-04-06 22:13:43 -03:00
callchain.h perf callchain: Enable dwarf_callchain_users on arm64 2021-12-21 18:35:44 -03:00
cap.c
cap.h perf tools: Support CAP_PERFMON capability 2020-04-16 12:19:08 -03:00
cgroup.c perf stat: Remove evsel metric_name/expr 2023-02-03 13:54:21 -03:00
cgroup.h perf stat: Enable BPF counter with --for-each-cgroup 2021-07-05 14:16:57 -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 util: Remove weak sched_getcpu 2023-03-14 08:29:46 -03:00
cloexec.h
color.c
color.h
color_config.c
comm.c
comm.h
compress.h
config.c perf config: Add missing newline on pr_warning() call in home_perfconfig() 2022-10-27 16:37:26 -03:00
config.h perf tools: Add perf_config_scan() 2022-10-04 08:55:21 -03:00
copyfile.c
copyfile.h
counts.c perf stat: Remove unused perf_counts.aggr field 2022-10-27 16:37:25 -03:00
counts.h perf stat: Remove unused perf_counts.aggr field 2022-10-27 16:37:25 -03:00
cpu-set-sched.h
cpumap.c perf cpumap: Add reference count checking 2023-04-17 16:50:02 -03:00
cpumap.h perf stat: Add cpu_aggr_map for loop 2023-02-19 08:10:25 -03:00
cputopo.c perf expr: Make the online topology accessible globally 2023-02-19 08:03:12 -03:00
cputopo.h perf expr: Make the online topology accessible globally 2023-02-19 08:03:12 -03:00
cs-etm-base.c perf cs-etm: Move mapping of Trace ID and cpu into helper function 2023-04-04 09:39:56 -03:00
cs-etm.c perf cs-etm: Add fix for coresight trace for any range of CPUs 2023-05-02 08:36:14 -03:00
cs-etm.h perf cs-etm: Copy kernel coresight-pmu.h header 2023-05-26 16:03:27 -03:00
data-convert-bt.c perf trace: Reduce #ifdefs for TEP_FIELD_IS_RELATIVE 2023-01-19 13:26:28 -03:00
data-convert-json.c perf map: Add accessor for dso 2023-04-04 16:41:57 -03:00
data-convert.h perf data: Add JSON export 2021-04-29 10:30:58 -03:00
data.c perf tools: Fix resources leak in perf_data__open_dir() 2023-01-02 11:45:43 -03:00
data.h perf data: Add missing unistd.h header needed for pid_t 2022-07-25 18:10:43 -03:00
db-export.c perf map: Add accessor for dso 2023-04-04 16:41:57 -03:00
db-export.h perf scripting python: Add 'addr_location' for 'addr' 2021-05-25 10:07:17 -03:00
debug.c perf debug: Increase libtraceevent logging when verbose 2023-01-19 13:26:49 -03:00
debug.h perf tools: Add WARN_ONCE equivalent for UI warnings 2021-08-03 17:03:18 -03:00
demangle-cxx.cpp perf symbol: Avoid memory leak from abi::__cxa_demangle 2023-03-20 12:49:58 -03:00
demangle-cxx.h perf symbol: Add abi::__cxa_demangle C++ demangling support 2023-03-14 08:29:46 -03:00
demangle-java.c perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
demangle-java.h
demangle-ocaml.c perf tools: Preserve identifier id in OCaml demangler 2021-03-30 12:45:59 -03:00
demangle-ocaml.h perf tools: Add OCaml demangling 2021-02-17 15:15:06 -03:00
demangle-rust.c
demangle-rust.h
dlfilter.c perf map: Add helper for ->map_ip() and ->unmap_ip() 2023-04-06 22:10:17 -03:00
dlfilter.h perf tests: Add dlfilter test 2021-08-11 09:35:44 -03:00
dso.c perf dso: Add dso__filename_with_chroot() to reduce number of accesses to dso->nsinfo members 2023-04-17 18:47:55 -03:00
dso.h perf dso: Add dso__filename_with_chroot() to reduce number of accesses to dso->nsinfo members 2023-04-17 18:47:55 -03:00
dsos.c perf dso: Add dso__filename_with_chroot() to reduce number of accesses to dso->nsinfo members 2023-04-17 18:47:55 -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
dump-insn.h
dwarf-aux.c perf probe: Read DWARF files from the correct CU 2023-07-27 08:56:33 +02:00
dwarf-aux.h perf probe: Fix to get declared file name from clang DWARF5 2022-11-03 09:28:46 -03:00
dwarf-regs.c tools/perf: Add basic support for LoongArch 2023-05-01 17:19:59 +08:00
env.c Disable building BPF based features by default for v6.4. 2023-05-07 11:32:18 -07:00
env.h perf header: Record non-CPU PMU capabilities 2022-06-24 13:18:55 -03:00
event.c perf util: Move perf_guest/host declarations 2023-04-10 19:22:05 -03:00
event.h perf mem: Add PERF_MEM_LVLNUM_NA to PERF_MEM_DATA_SRC_NONE 2023-04-10 19:26:08 -03:00
events_stats.h perf hist: Add nr_lost_samples to hist_stats 2022-10-04 08:55:20 -03:00
evlist-hybrid.c perf evlist: Fix failed to use cpu list for uncore events 2022-02-18 09:59:26 -03:00
evlist-hybrid.h perf tools: Enable on a list of CPUs for hybrid 2021-08-11 16:07:32 -03:00
evlist.c perf evsel: Introduce evsel__name_is() method to check if the evsel name is equal to a given string 2023-04-24 14:28:11 -03:00
evlist.h perf evlist: Remove nr_groups 2023-03-13 17:42:27 -03:00
evsel.c perf evsel: Separate bpf_counter_list and bpf_filters, can be used at the same time 2023-05-26 16:03:43 -03:00
evsel.h perf evsel: Don't let for_each_group() treat the head of the list as one of its nodes 2023-07-19 16:36:10 +02: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 evsel: Don't let for_each_group() treat the head of the list as one of its nodes 2023-07-19 16:36:10 +02: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: Various spelling fixes 2023-01-23 10:00:47 -03:00
expr.c perf expr: Use zfree() to reduce chances of use after free 2023-04-12 10:06:11 -03:00
expr.h perf pmu-events: Fix testing with JEVENTS_ARCH=all 2023-02-03 13:54:21 -03:00
expr.l perf pmu-events: Fix testing with JEVENTS_ARCH=all 2023-02-03 13:54:21 -03:00
expr.y perf metric: Change divide by zero and !support events behavior 2023-05-10 12:35:02 -03:00
find-map.c
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
ftrace.h perf ftrace: Reuse target::initial_delay 2023-03-13 14:52:14 -03:00
genelf.c perf genelf: Fix error code in jit_write_elf() 2022-10-04 08:55:22 -03:00
genelf.h tools/perf: Add basic support for LoongArch 2023-05-01 17:19:59 +08:00
genelf_debug.c perf genelf: Use zfree() to reduce chances of use after free 2023-04-12 10:12:55 -03:00
generate-cmdlist.sh perf help: Use HAVE_LIBTRACEEVENT to filter out unsupported commands 2023-01-02 11:51:53 -03:00
get_current_dir_name.c perf tools: Fixup get_current_dir_name() compilation 2021-08-30 10:06:16 -03:00
get_current_dir_name.h
hashmap.c libbpf: Hashmap interface update to allow both long and void* keys/values 2022-11-09 20:45:14 -08:00
hashmap.h libbpf: Hashmap.h update to fix build issues using LLVM14 2022-11-11 10:24:23 -08:00
header.c perf evlist: Remove nr_groups 2023-03-13 17:42:27 -03:00
header.h perf header: Move perf_version_string declaration 2023-04-10 19:21:05 -03:00
help-unknown-cmd.c
help-unknown-cmd.h
hisi-ptt.c perf auxtrace arm64: Add support for parsing HiSilicon PCIe Trace packet 2022-10-15 10:13:16 -03:00
hisi-ptt.h perf auxtrace arm64: Add support for parsing HiSilicon PCIe Trace packet 2022-10-15 10:13:16 -03:00
hist.c perf mem: Increase HISTC_MEM_LVL column size to 39 chars 2023-04-10 19:29:23 -03:00
hist.h perf report: Add 'simd' sort field 2023-03-20 19:28:21 -03:00
intel-bts.c perf tools: Use __BYTE_ORDER__ 2021-11-07 12:27:38 -03:00
intel-bts.h
intel-pt.c perf map: Add helper for ->map_ip() and ->unmap_ip() 2023-04-06 22:10:17 -03:00
intel-pt.h
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
iostat.c perf stat: Pass through 'struct outstate' 2022-11-24 09:40:37 -03:00
iostat.h perf stat: Pass through 'struct outstate' 2022-11-24 09:40:37 -03:00
jit.h perf inject jit: Add namespaces support 2021-02-03 13:10:44 -03:00
jitdump.c perf jit: Fix a few memory leaks 2023-04-04 13:23:59 -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: Reference count 'struct kvm_info' 2023-03-21 10:06:05 -03:00
kwork.h perf kwork: Remove includes not needed in kwork.h 2022-10-31 11:06:46 -03:00
levenshtein.c perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
levenshtein.h
llvm-utils.c perf llvm: Fix inadvertent file creation 2023-01-19 13:23:26 -03:00
llvm-utils.h
lock-contention.h perf lock contention: Update total/bad stats for hidden entries 2023-04-06 21:52:37 -03:00
lzma.c perf lzma: Close lzma stream on exit 2021-07-15 17:30:22 -03:00
machine.c perf map: Add reference count checking 2023-04-19 12:57:53 -03:00
machine.h machine: Adopt is_lock_function() from builtin-lock.c 2022-12-14 11:16:12 -03:00
map.c perf map: Add reference count checking 2023-04-19 12:57:53 -03:00
map.h perf map: Add reference count checking 2023-04-19 12:57:53 -03:00
map_symbol.h perf tools: Apply correct label to user/kernel symbols in branch mode 2022-02-06 09:03:06 -03:00
maps.c perf map: Add reference count checking 2023-04-19 12:57:53 -03:00
maps.h perf maps: Add reference count checking 2023-04-19 10:53:01 -03:00
mem-events.c perf mem: Refactor perf_mem__lvl_scnprintf() to process 'union perf_mem_data_src' more intuitively 2023-04-10 19:27:00 -03:00
mem-events.h perf mem: Add statistics for peer snooping 2022-08-11 19:12:12 -03:00
mem2node.c perf mem2node: Improve warning if detected no memory nodes 2020-11-04 09:42:40 -03:00
mem2node.h
memswap.c
memswap.h
metricgroup.c perf metric: Fix no group check 2023-07-19 16:36:14 +02:00
metricgroup.h perf stat: Implement --topdown using json metrics 2023-02-19 08:07:24 -03:00
mmap.c perf tools: Use dedicated non-atomic clear/set bit helpers 2022-12-05 09:29:06 -03:00
mmap.h perf mmap: Remove several unneeded includes from util/mmap.h 2022-10-31 11:07:14 -03:00
mutex.c perf mutex: Add thread safety annotations 2022-10-04 08:55:20 -03:00
mutex.h perf mutex: Add thread safety annotations 2022-10-04 08:55:20 -03:00
namespaces.c perf namespaces: Introduce nsinfo__mntns_path() accessor to avoid accessing ->mntns_path directly 2023-04-17 22:22:24 -03:00
namespaces.h perf namespaces: Add reference count checking 2023-04-17 18:51:57 -03:00
off_cpu.h perf offcpu: Accept allowed sample types only 2022-06-28 11:45:45 -03:00
ordered-events.c tools: Rename __fallthrough to fallthrough 2023-04-06 21:41:00 -03:00
ordered-events.h perf ordered_events: Add ordered_events__last_flush_time() 2022-07-20 11:07:30 -03:00
parse-branch-options.c perf record: Add remaining branch filters: "no_cycles", "no_flags" & "hw_index" 2022-12-14 11:16:12 -03:00
parse-branch-options.h
parse-events-hybrid.c perf parse-events: Remove "not supported" hybrid cache events 2022-09-26 10:16:26 -03:00
parse-events-hybrid.h perf parse-events: Add new "metric-id" term 2021-10-20 10:54:44 -03:00
parse-events.c perf parse-events: Don't reorder ungrouped events by PMU 2023-05-10 12:35:02 -03:00
parse-events.h perf tools: Add support for perf_event_attr::config3 2023-03-21 10:06:08 -03:00
parse-events.l perf tools: Add support for perf_event_attr::config3 2023-03-21 10:06:08 -03:00
parse-events.y perf parse-events: Warn when events are regrouped 2023-03-13 17:42: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
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 missing newline at the end of header file 2021-08-24 15:01:31 -03:00
path.c perf test: Shell - Limit to only run executable scripts in tests 2022-04-11 16:39:49 -03:00
path.h perf test: Shell - Limit to only run executable scripts in tests 2022-04-11 16:39:49 -03:00
perf-hooks-list.h
perf-hooks.c
perf-hooks.h
perf_api_probe.c perf tools: Do not pass NULL to parse_events() 2022-08-10 14:30:09 -03:00
perf_api_probe.h perf record: Move probing cgroup sampling support 2021-06-01 10:32:00 -03:00
perf_event_attr_fprintf.c perf tools: Print LOST read format in the verbose mode 2022-10-04 08:55:20 -03:00
perf_regs.c tools/perf: Add basic support for LoongArch 2023-05-01 17:19:59 +08:00
perf_regs.h perf tools: Refactor SMPL_REG macro in perf_regs.h 2021-12-21 18:35:44 -03:00
pfm.c perf evlist: Remove nr_groups 2023-03-13 17:42:27 -03:00
pfm.h perf list: List callback support for libpfm 2022-11-24 10:04:52 -03:00
pmu-hybrid.c perf pmu: Use perf_pmu__open_file() and perf_pmu__scan_file() 2023-01-22 18:17:32 -03:00
pmu-hybrid.h perf header: Support HYBRID_TOPOLOGY feature 2021-05-17 10:55:10 -03:00
pmu.c perf tools: Add util function for overriding user set config values 2023-04-24 14:41:51 -03:00
pmu.h perf pmu: Improve name/comments, avoid a memory allocation 2023-04-06 21:54:01 -03:00
pmu.l perf pmu: Make parser reentrant 2023-04-06 21:40:28 -03:00
pmu.y perf pmu: Make parser reentrant 2023-04-06 21:40:28 -03:00
pmus.c perf tool: Move pmus list variable to a new file 2022-12-14 11:16:12 -03:00
pmus.h perf tool: Move pmus list variable to a new file 2022-12-14 11:16:12 -03:00
print-events.c perf list: Modify the warning message about scandirat(3) 2023-05-02 08:36:14 -03:00
print-events.h perf list: Support for printing metric thresholds 2023-02-19 08:06:49 -03:00
print_binary.c perf python scripting: Fix printable strings in python3 scripts 2020-10-01 12:10:56 -03:00
print_binary.h
probe-event.c perf map: Add accessors for ->pgoff and ->reloc 2023-04-06 22:12:40 -03:00
probe-event.h perf probe: Fix add event failure when running 32-bit perf in a 64-bit kernel 2021-07-18 09:31:15 -03:00
probe-file.c perf probe-file: Delete namelist in del_events() on the error path 2021-07-18 09:27:37 -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 missing 0x prefix for addresses printed in hexadecimal 2023-04-19 16:38:43 -03:00
probe-finder.h perf probe: Fix add event failure when running 32-bit perf in a 64-bit kernel 2021-07-18 09:31:15 -03:00
pstack.c perf tools: Replace zero-length array with flexible-array 2020-05-28 10:03:27 -03:00
pstack.h
python-ext-sources perf unwind: Use dynamic register set for DWARF unwind 2022-05-26 12:41:36 -03:00
python.c perf record: Add BPF event filter support 2023-03-15 11:08:34 -03:00
rb_resort.h
rblist.c
rblist.h
record.c perf evlist: Remove group option. 2022-12-14 15:28:18 -03:00
record.h perf record: Reuse target::initial_delay 2023-03-13 14:52:14 -03:00
rlimit.c
rlimit.h
rwsem.c
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
s390-cpumsf.c perf tools: Move 'struct perf_sample' to a separate header file to disentangle headers 2022-10-31 11:06:41 -03:00
s390-cpumsf.h
s390-sample-raw.c perf tools: Move 'struct perf_sample' to a separate header file to disentangle headers 2022-10-31 11:06:41 -03:00
sample-raw.c perf report: Add support to print a textual representation of IBS raw sample data 2021-09-10 18:15:21 -03:00
sample-raw.h perf report: Add support to print a textual representation of IBS raw sample data 2021-09-10 18:15:21 -03:00
sample.h perf event: Add 'simd_flags' field to 'struct perf_sample' 2023-03-20 19:27:00 -03:00
session.c perf util: Move perf_guest/host declarations 2023-04-10 19:22:05 -03:00
session.h perf build: Use libtraceevent from the system 2022-12-14 11:16:12 -03:00
setns.c
setup.py perf python: Fix splitting CC into compiler and options 2022-12-22 11:34:30 -03:00
sideband_evlist.c perf evlist: Rename cpus to user_requested_cpus 2022-04-01 16:19:35 -03:00
smt.c perf expr: Make the online topology accessible globally 2023-02-19 08:03:12 -03:00
smt.h perf expr: Make the online topology accessible globally 2023-02-19 08:03:12 -03:00
sort.c perf evsel: Introduce evsel__name_is() method to check if the evsel name is equal to a given string 2023-04-24 14:28:11 -03:00
sort.h perf report: Add 'simd' sort field 2023-03-20 19:28:21 -03:00
spark.c
spark.h
srccode.c perf srccode: Use list_move() instead of equivalent list_del() + list_add() sequence 2021-06-08 09:36:36 -03:00
srccode.h
srcline.c perf srcline: Avoid addr2line SIGPIPEs 2023-04-04 13:23:59 -03:00
srcline.h
stat-display.c perf metric: Change divide by zero and !support events behavior 2023-05-10 12:35:02 -03:00
stat-shadow.c perf metric: Change divide by zero and !support events behavior 2023-05-10 12:35:02 -03:00
stat.c Merge remote-tracking branch 'acme/perf-tools' into perf-tools-next 2023-03-10 18:43:17 -03:00
stat.h Merge remote-tracking branch 'acme/perf-tools' into perf-tools-next 2023-03-10 18:43:17 -03:00
strbuf.c
strbuf.h perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
stream.c libperf: Move 'idx' from tools/perf to perf_evsel::idx 2021-07-09 14:04:28 -03:00
stream.h perf streams: Report hot streams 2020-10-14 13:34:26 -03:00
strfilter.c tools: Rename __fallthrough to fallthrough 2023-04-06 21:41:00 -03:00
strfilter.h perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
string.c tools: Rename __fallthrough to fallthrough 2023-04-06 21:41:00 -03:00
string2.h perf tools: Add OCaml demangling 2021-02-17 15:15:06 -03:00
strlist.c
strlist.h
svghelper.c perf tools: Use dedicated non-atomic clear/set bit helpers 2022-12-05 09:29:06 -03:00
svghelper.h
symbol-elf.c perf build: Don't compile demangle-cxx.cpp if not necessary 2023-05-26 15:25:45 -03:00
symbol-minimal.c perf symbol: Add filename__has_section() 2022-12-21 14:52:40 -03:00
symbol.c perf map: Add reference count checking 2023-04-19 12:57:53 -03:00
symbol.h perf symbols: Record whether a symbol is an alias for an IFUNC symbol 2023-02-01 21:49:29 -03:00
symbol_conf.h perf symbol: Remove unused branch_callstack 2023-04-04 09:39:56 -03:00
symbol_fprintf.c perf map: Add accessor for start and end 2023-04-04 16:54:11 -03:00
symsrc.h perf symbols: Allow for static executables with .plt 2023-02-01 21:51:51 -03:00
synthetic-events.c perf map: Add accessor for start and end 2023-04-04 16:54:11 -03:00
synthetic-events.h perf cpumap: Synthetic events and const/static 2022-08-19 12:26:58 -03:00
syscalltbl.c tools/perf: Add basic support for LoongArch 2023-05-01 17:19:59 +08: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: Fix counting when initial delay configured 2023-03-02 17:39:03 -03:00
term.c
term.h
thread-stack.c x86/retpoline,kprobes: Skip optprobe check for indirect jumps with retpolines and IBT 2023-08-23 17:32:41 +02:00
thread-stack.h perf tools: Remove duplicate struct forward declarations 2021-03-25 08:59:10 -03:00
thread.c perf map: Add helper for ->map_ip() and ->unmap_ip() 2023-04-06 22:10:17 -03:00
thread.h perf thread: Move thread__resolve() from event.h 2022-10-31 11:07:03 -03:00
thread_map.c perf thread_map: Reduce exposure of libperf internal API 2022-11-16 12:17:15 -03:00
thread_map.h perf thread_map: Reduce exposure of libperf internal API 2022-11-16 12:17:15 -03:00
time-utils.c
time-utils.h
tool.h perf record: Add finished init event 2022-06-23 11:54:22 -03:00
top.c perf util: Move perf_guest/host declarations 2023-04-10 19:22:05 -03:00
top.h perf top: Update use of pthread mutex 2022-10-04 08:55:20 -03:00
topdown.c perf stat: Implement --topdown using json metrics 2023-02-19 08:07:24 -03:00
topdown.h perf stat: Implement --topdown using json metrics 2023-02-19 08:07:24 -03:00
trace-event-info.c perf util: Add host_is_bigendian to util.h 2022-12-14 11:16:12 -03:00
trace-event-parse.c perf build: Use libtraceevent from the system 2022-12-14 11:16:12 -03:00
trace-event-read.c perf build: Use libtraceevent from the system 2022-12-14 11:16:12 -03:00
trace-event-scripting.c perf script: Fix Python support when no libtraceevent 2023-03-15 10:27:07 -03:00
trace-event.c perf build: Use libtraceevent from the system 2022-12-14 11:16:12 -03:00
trace-event.h perf trace: Reduce #ifdefs for TEP_FIELD_IS_RELATIVE 2023-01-19 13:26:28 -03:00
tracepoint.c perf tracepoint: Fix memory leak in is_valid_tracepoint() 2023-05-02 08:36:14 -03:00
tracepoint.h perf parse-events: Break out tracepoint and printing 2022-08-02 16:32:26 -03:00
trigger.h
tsc.c perf session: Dump PERF_RECORD_TIME_CONV event 2021-04-29 10:31:00 -03:00
tsc.h perf tsc: Add arch TSC frequency information 2022-07-25 12:28:00 -03:00
units.c perf stat: Improve readability of shadow stats 2021-03-15 11:36:54 -03:00
units.h perf stat: Improve readability of shadow stats 2021-03-15 11:36:54 -03:00
unwind-libdw.c perf maps: Add reference count checking 2023-04-19 10:53:01 -03:00
unwind-libdw.h perf unwind: Don't show unwind error messages when augmenting frame pointer stack 2022-04-09 12:34:29 -03:00
unwind-libunwind-local.c perf maps: Add reference count checking 2023-04-19 10:53:01 -03:00
unwind-libunwind.c perf unwind: Suppress massive unsupported target platform errors 2023-05-02 08:36:14 -03:00
unwind.h perf unwind: Don't show unwind error messages when augmenting frame pointer stack 2022-04-09 12:34:29 -03:00
usage.c perf usage: Move usage strings 2023-04-10 19:20:53 -03:00
util.c perf util: Move input_name to util 2023-04-10 19:21:31 -03:00
util.h perf util: Move perf_guest/host declarations 2023-04-10 19:22:05 -03:00
values.c
values.h
vdso.c perf map: Add accessor for dso 2023-04-04 16:41:57 -03:00
vdso.h
zlib.c
zstd.c perf tools: Use %zd for size_t printf formats on 32-bit 2020-09-01 12:15:21 -03:00