linux/tools/perf
Zecheng Li 414bf79deb perf dwarf-aux: Use signed variable types in match_var_offset
match_var_offset() compares address offsets to determine if an access
falls within a variable's bounds. The offsets involved for those
relative to base registers from DW_OP_breg can be negative.

The current implementation uses unsigned types (u64) for these offsets,
which rejects almost all negative values.

Change the signature of match_var_offset() to use signed types (s64).

This ensures correct behavior when addr_offset or addr_type are
negative.

Reviewed-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Zecheng Li <zecheng@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Xu Liu <xliuprof@google.com>
Link: https://lore.kernel.org/r/20250825195412.223077-2-zecheng@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2025-09-03 15:45:50 -03:00
..
arch tools headers: Sync syscall tables with the kernel source 2025-08-18 13:49:25 -07:00
bench perf symbol: Add blocking argument to filename__read_build_id 2025-08-25 15:07:18 -07:00
check-header_ignore_hunks/lib perf tools: update expected diff for lib/list_sort.c 2024-11-05 17:12:33 -08:00
dlfilters
Documentation perf annotate: Add --code-with-type support for TUI 2025-08-28 12:33:08 -03:00
include/perf perf dso: Move build_id to dso_id 2025-07-25 10:37:56 -07:00
jvmti perf: Fix libjvmti.c sign compare error 2025-06-09 22:12:08 -07:00
pmu-events perf jevents: Add common software event json 2025-07-26 16:31:43 -07:00
python perf ilist: Add support for metrics 2025-09-03 12:34:54 -03:00
scripts perf flamegraph: Fix minor pylint/type hint issues 2025-07-16 10:43:27 -07:00
tests perf test shell lock_contention: Extra debug diagnostics 2025-09-03 12:34:54 -03:00
trace tools headers: Sync uapi/linux/vhost.h with the kernel source 2025-08-18 13:49:26 -07:00
ui perf annotate: Use a hashmap to save type data 2025-09-02 17:14:00 -03:00
util perf dwarf-aux: Use signed variable types in match_var_offset 2025-09-03 15:45:50 -03:00
.gitignore perf tools: Remove libtraceevent in .gitignore 2025-07-26 15:38:10 -07:00
Build perf build: Specify shellcheck should use bash 2025-06-30 09:43:06 -07:00
builtin-annotate.c perf annotate: Add --code-with-type support for TUI 2025-08-28 12:33:08 -03:00
builtin-bench.c
builtin-buildid-cache.c perf symbol: Add blocking argument to filename__read_build_id 2025-08-25 15:07:18 -07:00
builtin-buildid-list.c perf machine: Explicitly pass in host perf_env 2025-07-25 10:37:57 -07:00
builtin-c2c.c perf sort: Use perf_env to set arch sort keys and header 2025-07-25 10:37:58 -07:00
builtin-check.c tools: Remove libcrypto dependency 2025-06-26 10:51:41 -07:00
builtin-config.c perf config: Add a function to set one variable in .perfconfig 2025-01-14 15:05:56 -03:00
builtin-daemon.c
builtin-data.c
builtin-diff.c perf sort: Use perf_env to set arch sort keys and header 2025-07-25 10:37:58 -07:00
builtin-evlist.c
builtin-ftrace.c perf: ftrace: add graph tracer options args/retval/retval-hex/retaddr 2025-07-22 17:47:22 -07:00
builtin-help.c perf tools: Remove dependency on libaudit 2025-01-10 10:59:42 -03:00
builtin-inject.c perf symbol: Add blocking argument to filename__read_build_id 2025-08-25 15:07:18 -07:00
builtin-kallsyms.c perf machine: Explicitly pass in host perf_env 2025-07-25 10:37:57 -07:00
builtin-kmem.c perf session: Add accessor for session->header.env 2025-07-25 10:37:56 -07:00
builtin-kvm.c perf session: Add accessor for session->header.env 2025-07-25 10:37:56 -07:00
builtin-kwork.c perf session: Add accessor for session->header.env 2025-07-25 10:37:56 -07:00
builtin-list.c perf list: Skip ABI PMUs when printing pmu values 2025-07-26 16:31:43 -07:00
builtin-lock.c perf session: Add accessor for session->header.env 2025-07-25 10:37:56 -07:00
builtin-mem.c perf session: Add accessor for session->header.env 2025-07-25 10:37:56 -07:00
builtin-probe.c
builtin-record.c perf auxtrace: Pass perf_env from session through to mmap read 2025-07-25 10:37:58 -07:00
builtin-report.c perf sort: Use perf_env to set arch sort keys and header 2025-07-25 10:37:58 -07:00
builtin-sched.c perf session: Add accessor for session->header.env 2025-07-25 10:37:56 -07:00
builtin-script.c perf sample: Remove arch notion of sample parsing 2025-07-25 10:37:58 -07:00
builtin-stat.c perf session: Add accessor for session->header.env 2025-07-25 10:37:56 -07:00
builtin-timechart.c perf session: Add accessor for session->header.env 2025-07-25 10:37:56 -07:00
builtin-top.c perf sort: Use perf_env to set arch sort keys and header 2025-07-25 10:37:58 -07:00
builtin-trace.c perf trace: Avoid global perf_env with evsel__env 2025-07-25 10:37:58 -07:00
builtin-version.c perf check: Share the feature status printing routine with 'perf version' 2025-04-10 10:44:04 -03:00
builtin.h perf check: Allow showing a tip for opt-in features not built into perf 2025-04-10 10:44:42 -03:00
check-headers.sh perf tools: Remove excess variable declarations 2025-06-24 11:06:02 -07:00
command-list.txt
CREDITS
design.txt
Makefile
Makefile.config tools: Remove libcrypto dependency 2025-06-26 10:51:41 -07:00
Makefile.perf perf build: Always disable stack protection for BPF skeleton objects 2025-07-20 20:49:35 -07:00
MANIFEST perf tools: Fix arm64 source package build 2025-05-13 17:26:35 -03:00
perf-archive.sh tools/perf: Add --exclude-buildids option to perf archive command 2025-06-26 15:40:19 -07:00
perf-completion.sh
perf-iostat.sh
perf-read-vdso.c
perf-sys.h
perf.c perf env: Remove global perf_env 2025-07-25 10:37:58 -07:00
perf.h perf: Increase MAX_NR_CPUS to 4096 2024-12-09 17:52:41 -03:00