Commit 05d2a3da153b for kernel

commit 05d2a3da153bc08c5fe7937584b5d86505747b9e
Merge: f31c00c377cc 3287a1881ca5
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Jun 23 11:34:49 2026 -0700

    Merge tag 'perf-tools-for-v7.2-1-2026-06-22' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools

    Pull perf tools updates from Arnaldo Carvalho de Melo:

     - Introduce 'perf inject --aslr' to remap ASLR-randomized addresses in
       perf.data files, enabling reproducible analysis across runs with
       different address space layouts

     - Refactor evsel out of sample processing paths: store evsel in struct
       perf_sample and remove the redundant evsel parameter from tool APIs,
       tracepoint handlers, hist entry iterators, and db-export, simplifying
       the entire tool callback chain

     - Switch architecture detection from string-based perf_env__arch()
       comparisons to the numeric ELF e_machine field across the codebase
       (capstone, print_insn, c2c, lock-contention, sort, sample-raw,
       machine, header), making cross-analysis more robust

     - Overhaul ARM CoreSight ETM tests: add deterministic and named_threads
       workloads, speed up basic and disassembly tests, add process
       attribution and concurrent threads tests, remove unused workloads and
       duplicate tests, queue context packets for the frontend decoder

     - Add ARM SPE IMPDEF event decoding for Arm Neoverse N1, store MIDR in
       arm_spe_pkt for per-CPU event mapping, handle missing CPU IDs
       gracefully

     - Refactor libunwind support: remove the libunwind-local backend, make
       register reading cross-platform, add RISC-V libunwind support, allow
       dynamic selection between libdw and libunwind unwinding at runtime

     - Extensive hardening of perf.data parsing against crafted files: add
       bounds checks and byte-swap validation for session records, feature
       sections, header attributes, BPF metadata, auxtrace errors,
       compressed events, CPU maps, build ID notes, and ELF program headers.
       Add minimum event size validation and file offset diagnostics

     - Fix libdw API contract violations across dwarf-aux, libdw,
       probe-finder, annotate-data, and debuginfo subsystems. Fix callchain
       parent update in ORDER_CALLER mode, support DWARF line 0 in inline
       lists, handle multiple address spaces in callchains

     - Fix numerous 'perf sched' bugs: thread reference leaks, memory leaks,
       heap overflows with cross-machine recordings, NULL dereferences,
       replace BUG_ON assertions with graceful error handling, bounds-check
       CPU indices, fix SIGCHLD vs pause() races in sched stats

     - Overhaul the build system: move BPF skeleton generation out of
       Makefile.perf into bpf_skel.mak, decouple pmu-events from the prepare
       target, make beauty generated C code standalone .o files, compile BPF
       skeletons with -mcpu=v3, fix continuous rebuilds, various cleanups

     - Add 'perf test' JUnit XML reporting with -j/--junit option, split
       monolithic test suites into sub-tests, add summary reporting,
       refactor parallel poll loop, fix test failures on musl-based systems

     - Fix 'perf c2c' memory leaks in hist entry and format list handling,
       use-after-free in error paths, bounds-check CPU and node IDs

     - Fix 'perf bpf' metadata leaks on duplicate insert and alloc failure,
       bounds-check array offsets, validate event sizes and func_info
       fields, add NULL checks

     - Fix hwmon PMU: off-by-one null termination on sysfs reads, strlcpy
       buffer overflow in parse_hwmon_filename(), fd 0 check, empty label
       reads, scnprintf usage

     - Fix symbols subsystem: bounds-check ELF and sysfs build ID note
       iteration, validate p_filesz, fix 32-bit ELF bswap error, fix signed
       overflow in size checks, bounds-check .gnu_debuglink section

     - Fix tools lib api: null termination in filename__read_int/ull(),
       uninitialized stack data in filename__write_int(), snprintf
       truncation in mount_overload()

     - Replace libbabeltrace with babeltrace2-ctf-writer for CTF conversion
       in 'perf data'

     - Add RISC-V SDT argument parsing for static tracepoints

     - Add 'perf trace --show-cpu' option to display CPU id

     - Add 'perf bench sched pipe --write-size' option

     - Add a perf-specific .clang-format that overrides some kernel style
       behaviors

     - Update Intel vendor events for Alder Lake, Arrow Lake, Clearwater
       Forest, Emerald Rapids, Granite Rapids, Grand Ridge, Lunar Lake,
       Meteor Lake, Panther Lake, Sapphire Rapids, Sierra Forest

     - Add IOMMU metrics for AMD and Intel

     - Fix AMD event: switch l2_itlb_misses to
       bp_l1_tlb_miss_l2_tlb_miss.all

     - Add AMD IBS improvements: decode Streaming-store and Remote-Socket
       flags, suppress bogus fields on Zen4+, skip privilege test on Zen6+

     - Fix 'perf lock contention' SIGCHLD vs pause() race, allow 'mmap_lock'
       in -L filter, enable end-timestamp for cgroup aggregation, fix
       non-atomic data updates

     - Fix 'perf stat' false NMI watchdog warning in aggregation modes,
       bounds-check CPU index in topology callbacks, add aggr_nr metric
       parser support for uncore scaling

     - Fix 'perf timechart' memory leaks, CPU bounds checking,
       use-after-free on corrupted callchains

     - Fix 'perf inject' itrace branch stack synthesis, fix synthesized
       sample size with branch stacks

     - Fix DSO heap overflow on decompressed paths, uninitialized pathname
       on fallback, set proper error codes

     - Fix various snprintf/scnprintf usages to prevent buffer overflows and
       truncation across the codebase

     - Fix off-by-one stack buffer overflow in kallsyms__parse()

     - Fix 'perf kwork' memory management, address sanitizer issues, bounds
       check work->cpu

     - Fix 'perf tpebs' concurrent stop races and PID reuse hazards

     - Add O_CLOEXEC to open() calls and use mkostemp() for temporary files
       to prevent file descriptor leaks to child processes

     - Fix s390 Python extension TEXTREL by compiling as PIC

     - Fix build with ASAN for jitdump

     - Fix build failure due to btf_vlen() return type change

    * tag 'perf-tools-for-v7.2-1-2026-06-22' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools: (343 commits)
      perf bpf: Fix up build failure due to change of btf_vlen() return type
      perf dso: Set standard errno on decompression failure
      perf bpf: Validate array presence before casting BPF prog info pointers
      perf c2c: Fix hist entry and format list leaks in c2c_he_free()
      perf c2c: Free format list entries when c2c_hists__init() fails
      perf cs-etm: Bounds-check CPU in cs_etm__get_queue()
      perf cs-etm: Require full global header in auxtrace_info size check
      perf cs-etm: Validate num_cpu before metadata allocation
      perf machine: Use snprintf() for guestmount path construction
      perf machine: Propagate machine__init() error to callers
      perf trace: Guard __probe_ip suppression with evsel__is_probe()
      perf evsel: Add lazy-initialized probe type detection helpers
      perf evsel: Add no-libtraceevent stubs for evsel__field() and evsel__common_field()
      perf cs-etm: Reject CPU IDs that would overflow signed comparison
      perf c2c: Free format list entries when releasing c2c hist entries
      perf bpf: Bounds-check array offsets in bpil_offs_to_addr()
      perf bpf: Reject oversized BPF metadata events that truncate header.size
      perf bpf: Validate func_info_rec_size and sub_id in synthesize_bpf_prog_name()
      perf sched: Replace (void*)1 sentinel with proper runtime allocation
      perf hwmon: Fix fd check to accept fd 0 in hwmon_pmu__describe_items()
      ...