mirror of
https://github.com/torvalds/linux.git
synced 2026-11-13 13:38:14 +01:00
Add a new shell test to verify the feature. The test covers: - Basic address remapping for user space samples. - Pipe mode coverage for piped into. - Callchain address remapping. - Consistency of output before and after injection. - Pipe mode report consistency. - Dropping of samples that leak ASLR info (physical addresses). - Kernel address remapping (utilizing a dedicated kernel-intensive VFS dd workload to guarantee continuous timer interrupts sampling flow inside kernel privilege states). - Kernel report consistency with address normalization. The test suite is hardened with global 'set -o pipefail' assertions to catch pipeline failures, stream-consuming awk processors to handle SIGPIPE signals, and a dedicated pipe output scenario validating raw 'perf inject -o -' stdout streams. Note on kernel DSO normalization in the test script: The test script deliberately normalizes all kernel DSOs to a generic [kernel] tag before diffing, as obfuscating physical kernel addresses forces perf report to occasionally shift samples between individual modules and [kernel.kallsyms] due to the lack of valid host module boundary maps. Note on ARM: Kernel-based ASLR test cases (test_kernel_aslr and test_kernel_report_aslr) are skipped on ARM architectures (aarch64 and arm*) to bypass high latency constraints (such as check_invariants() spending excessive execution time in maps__split_kallsyms() on debug builds) and symbolization inconsistencies. Assisted-by: Antigravity:gemini-3.1-pro Signed-off-by: Ian Rogers <irogers@google.com> Tested-by: James Clark <james.clark@linaro.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Gabriel Marin <gmx@google.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
||
|---|---|---|
| .. | ||
| attr | ||
| base_probe | ||
| base_report | ||
| common | ||
| coresight | ||
| lib | ||
| addr2line_inlines.sh | ||
| amd-ibs-swfilt.sh | ||
| annotate.sh | ||
| attr.sh | ||
| buildid.sh | ||
| c2c.sh | ||
| daemon.sh | ||
| data_file_offset_diagnostics.sh | ||
| data_type_profiling.sh | ||
| data_validation.sh | ||
| diff.sh | ||
| drm_pmu.sh | ||
| evlist.sh | ||
| ftrace.sh | ||
| header.sh | ||
| inject_aslr.sh | ||
| inject-callchain.sh | ||
| jitdump-python.sh | ||
| kallsyms.sh | ||
| kvm.sh | ||
| kwork.sh | ||
| list.sh | ||
| lock_contention.sh | ||
| perf_sched_stats.sh | ||
| perf-report-hierarchy.sh | ||
| perftool-testsuite_probe.sh | ||
| perftool-testsuite_report.sh | ||
| pipe_test.sh | ||
| probe_vfs_getname.sh | ||
| python-use.sh | ||
| record_bpf_filter.sh | ||
| record_lbr.sh | ||
| record_offcpu.sh | ||
| record_sideband.sh | ||
| record_weak_term.sh | ||
| record.sh | ||
| record+probe_libc_inet_pton.sh | ||
| record+script_probe_vfs_getname.sh | ||
| record+zstd_comp_decomp.sh | ||
| sched.sh | ||
| script_dlfilter.sh | ||
| script_perl.sh | ||
| script_python.sh | ||
| script.sh | ||
| stat_all_metricgroups.sh | ||
| stat_all_metrics.sh | ||
| stat_all_pfm.sh | ||
| stat_all_pmu.sh | ||
| stat_bpf_counters_cgrp.sh | ||
| stat_bpf_counters.sh | ||
| stat_metrics_cgrp.sh | ||
| stat_metrics_values.sh | ||
| stat.sh | ||
| stat+csv_output.sh | ||
| stat+csv_summary.sh | ||
| stat+event_uniquifying.sh | ||
| stat+json_output.sh | ||
| stat+shadow_stat.sh | ||
| stat+std_output.sh | ||
| test_arm_callgraph_fp.sh | ||
| test_arm_spe_fork.sh | ||
| test_arm_spe.sh | ||
| test_bpf_metadata.sh | ||
| test_brstack.sh | ||
| test_data_symbol.sh | ||
| test_event_open_fallback.sh | ||
| test_intel_pt.sh | ||
| test_java_symbol.sh | ||
| test_perf_data_converter_ctf.sh | ||
| test_perf_data_converter_json.sh | ||
| test_stat_intel_tpebs.sh | ||
| test_task_analyzer.sh | ||
| test_test_junit_output.sh | ||
| test_uprobe_from_different_cu.sh | ||
| timechart.sh | ||
| top.sh | ||
| trace_btf_enum.sh | ||
| trace_btf_general.sh | ||
| trace_exit_race.sh | ||
| trace_record_replay.sh | ||
| trace_summary.sh | ||
| trace+probe_vfs_getname.sh | ||