linux/tools/perf
Arnaldo Carvalho de Melo 02ee4666a0 perf annotate-data: Bound the member nesting recursion
Members are added recursively, and a broken DIE can make a member's
type point back at one of its own ancestors, recursing until the stack
is gone; nothing usable comes out of nesting members 32 deep anyway, so
stop there, marking the member as truncated and giving up on member
types that don't resolve.

The check is where the children of an aggregate would be expanded, so
only struct/union members are marked as truncated.

Reviewed-by: Ian Rogers <irogers@google.com>
Reviewed-by: Namhyung Kim <namhyung@kernel.org>
Assisted-by: LLM
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2026-09-25 18:13:51 +02:00
..
arch perf loongarch: Fix discarded const qualifier in _get_field() 2026-09-24 19:22:25 +02:00
bench perf bench numa: Add NULL check after calloc() 2026-09-25 17:02:31 +02:00
check-header_ignore_hunks/lib
dlfilters
Documentation perf c2c: Add stdio support for the function view 2026-09-25 15:25:07 +02:00
include/perf perf dso: Move build_id to dso_id 2025-07-25 10:37:56 -07:00
jvmti perf tools: Use calloc() where applicable 2026-04-08 19:21:05 -07:00
pmu-events perf jevents: Limit the number of JSON reading workers 2026-09-25 12:41:37 +02:00
python perf python: Fix ilist TreeNode string type drift 2026-09-13 18:39:12 -03:00
scripts tools: Port perf ui from GTK 2 to GTK 4 2026-09-09 17:00:04 -03:00
tests perf test stat metrics cgroup: Strip possible slash from cgroup name 2026-09-25 17:42:21 +02:00
trace perf tools: Fix typos in comments 2026-09-25 15:11:36 +02:00
ui perf tools: Fix typos in comments 2026-09-25 15:11:36 +02:00
util perf annotate-data: Bound the member nesting recursion 2026-09-25 18:13:51 +02:00
.clang-format perf tool: Align structs in arrays in .clang-format 2026-09-09 17:03:35 -03:00
.gitignore perf pmu-events: Split big_c_string storage into standalone compilation unit 2026-05-20 17:46:45 -03:00
bpf_skel.mak perf build: Compile BPF skeletons with -mcpu=v3 2026-06-04 10:58:32 -03:00
Build perf trace beauty: Make beauty generated C code standalone .o files 2026-05-20 17:46:45 -03:00
builtin-annotate.c perf annotate: Default to --itrace=i1i for data type profiling 2026-09-21 08:41:55 +02:00
builtin-bench.c perf bench: Constify tables 2026-04-08 19:21:05 -07:00
builtin-buildid-cache.c perf symbol: Fix ENOENT case for filename__read_build_id 2025-12-17 07:30:51 -08:00
builtin-buildid-list.c perf buildid-list: Fix empty output for AUX data 2026-09-25 00:55:44 +02:00
builtin-c2c.c perf c2c: Add stdio support for the function view 2026-09-25 15:25:07 +02:00
builtin-check.c perf data ctf: replace libbabeltrace with babeltrace2-ctf-writer 2026-06-04 17:34:52 -03:00
builtin-config.c perf tool: Tidy up util/cache.h header file users 2026-09-08 17:50:28 -03:00
builtin-daemon.c perf tools: Replace basename() calls with perf_basename() 2026-04-08 19:21:05 -07:00
builtin-data.c perf data ctf: replace libbabeltrace with babeltrace2-ctf-writer 2026-06-04 17:34:52 -03:00
builtin-diff.c perf tools: Guard test_bit from out-of-bounds sample CPU 2026-06-04 17:34:52 -03:00
builtin-evlist.c perf tool: Add the perf_tool argument to all callbacks 2025-11-07 13:25:05 -08:00
builtin-ftrace.c perf ftrace latency: Do not read trace files when BPF is used 2026-09-08 18:04:33 -03:00
builtin-help.c perf tool: Tidy up util/cache.h header file users 2026-09-08 17:50:28 -03:00
builtin-inject.c perf machine: Add session back pointer to fix out of bounds read 2026-09-25 14:08:40 +02:00
builtin-kallsyms.c perf machine: Explicitly pass in host perf_env 2025-07-25 10:37:57 -07:00
builtin-kmem.c perf trace-event: Report tracepoint format errors with NULL and errno 2026-09-25 14:57:39 +02:00
builtin-kvm.c perf hist: Remove keysym.h include from hist.h 2026-09-08 17:50:37 -03:00
builtin-kwork.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
builtin-list.c perf list: Avoid repeated strlen() when escaping JSON strings 2026-09-13 18:44:37 -03:00
builtin-lock.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
builtin-mem.c perf tool: Remove evsel from tool APIs that pass the sample 2026-05-20 16:34:23 -03:00
builtin-probe.c perf tools: Add layout support for --symfs option 2026-03-10 23:13:30 -07:00
builtin-record.c perf record: Fix unhandled POLLHUP on non_perf_event descriptors 2026-09-17 12:27:34 -03:00
builtin-report.c perf config: Add core.hybrid-merge to configure event merging 2026-09-18 17:37:45 -03:00
builtin-sched.c perf sched: Make output_name variable static 2026-09-25 15:12:43 +02:00
builtin-script.c perf tools: Show memory region in perf-script subcommand 2026-09-24 19:29:45 +02:00
builtin-stat.c perf stat: Avoid uninitialized memory read on error 2026-09-09 08:10:17 -03:00
builtin-timechart.c perf timechart: Fix memory leaks in draw_wakeups() 2026-06-30 17:04:51 -07:00
builtin-top.c perf config: Add core.hybrid-merge to configure event merging 2026-09-18 17:37:45 -03:00
builtin-trace.c perf tools: Fix typos in comments 2026-09-25 15:11:36 +02:00
builtin-version.c
builtin.h perf tool: Move usage strings and functions to perf.c 2026-09-08 17:50:32 -03:00
check-headers.sh perf beauty: Move copy of fadvise.h from tools/include/ to tools/perf/trace/beauty/include/ 2026-03-31 20:23:06 -07:00
CREDITS
design.txt
Makefile perf tests: Improvements to build-test performance 2026-09-09 17:00:36 -03:00
Makefile.config perf dwarf-aux: Add die_same_file() and die_get_type_die() 2026-09-25 18:13:25 +02:00
Makefile.perf perf build: Follow sourced files when running shellcheck 2026-09-25 00:55:45 +02:00
MANIFEST
perf-archive.sh
perf-completion.sh
perf-iostat.sh
perf-read-vdso.c
perf-sys.h
perf.c perf trace-event: Free the global trace_event when a command ends 2026-09-25 14:58:03 +02:00
perf.h perf: Completely remove possibility to override MAX_NR_CPUS 2025-09-12 10:52:22 -03:00