diff options
| author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2026-09-24 16:27:56 -0300 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2026-09-25 18:12:23 +0200 |
| commit | a6ac1e9ca936b20fc450dda79ab834e93678f8d8 (patch) | |
| tree | e16c14ff343ca488d99b43cd824e09df2ba44983 /tools/perf/python/stackcollapse.py | |
| parent | 906af9e1c974a43eda25526c1046f0f4814961f1 (diff) | |
| download | linux-next-a6ac1e9ca936b20fc450dda79ab834e93678f8d8.tar.gz linux-next-a6ac1e9ca936b20fc450dda79ab834e93678f8d8.zip | |
perf dwarf-aux: Bound the type chases for broken debug info
A DIE parsed at an offset that is not the start of a DIE can have a
DW_AT_type that refers back to itself, making the typedef/qualifier
chases in die_get_real_type(), die_get_pointer_type() and
die_get_typename_from_type() spin forever; 'perf report -s type' did
that on the dwz compressed debug info of zlib-ng (libz.so.1).
No sane typedef/qualifier chain is 32 DIEs long, so give up on the type
with a pr_debug instead of hanging.
Reviewed-by: Ian Rogers <irogers@google.com>
Reviewed-by: Namhyung Kim <namhyung@kernel.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Assisted-by: LLM
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
