linux/scripts
Linus Torvalds b83a8ff87a tracing fixes for v6.19:
- Fix a crash with passing a stacktrace between synthetic events
 
   A synthetic event is an event that combines two events into a single event
   that can display fields from both events as well as the time delta that
   took place between the events. It can also pass a stacktrace from the
   first event so that it can be displayed by the synthetic event (this is
   useful to get a stacktrace of a task scheduling out when blocked and
   recording the time it was blocked for).
 
   A synthetic event can also connect an existing synthetic event to another
   event. An issue was found that if the first synthetic event had a stacktrace
   as one of its fields, and that stacktrace field was passed to the new
   synthetic event to be displayed, it would crash the kernel. This was due to
   the stacktrace not being saved as a stacktrace but was still marked as one.
   When the stacktrace was read, it would try to read an array but instead read
   the integer metadata of the stacktrace and dereferenced a bad value.
 
   Fix this by saving the stacktrace field as a stracktrace.
 
 - Fix possible overflow in cmp_mod_entry() compare function
 
   A binary search is used to find a module address and if the addresses are
   greater than 2GB apart it could lead to truncation and cause a bad search
   result. Use normal compares instead of a subtraction between addresses to
   calculate the compare value.
 
 - Fix output of entry arguments in function graph tracer
 
   Depending on the configurations enabled, the entry can be two different
   types that hold the argument array. The macro FGRAPH_ENTRY_ARGS() is used
   to find the correct arguments from the given type. One location was missed
   and still referenced the arguments directly via entry->args and could
   produce the wrong value depending on how the kernel was configured.
 
 - Fix memory leak in scripts/tracepoint-update build tool
 
   If the array fails to allocate, the memory for the values needs to be
   freed and was not. Free the allocated values if the array failed to
   allocate.
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYKADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCaXUQLxQccm9zdGVkdEBn
 b29kbWlzLm9yZwAKCRAp5XQQmuv6qgsJAQDgtWH9DWUkJKgzXTkiOA0l8JArPOVf
 tCSMla2wWJA70QD/as2ptacYAFU9v1oxO5YIgsKOLFBF68ZUIhJtvXpqtAE=
 =JeC6
 -----END PGP SIGNATURE-----

Merge tag 'trace-v6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull tracing fixes from Steven Rostedt:

 - Fix a crash with passing a stacktrace between synthetic events

   A synthetic event is an event that combines two events into a single
   event that can display fields from both events as well as the time
   delta that took place between the events. It can also pass a
   stacktrace from the first event so that it can be displayed by the
   synthetic event (this is useful to get a stacktrace of a task
   scheduling out when blocked and recording the time it was blocked
   for).

   A synthetic event can also connect an existing synthetic event to
   another event. An issue was found that if the first synthetic event
   had a stacktrace as one of its fields, and that stacktrace field was
   passed to the new synthetic event to be displayed, it would crash the
   kernel. This was due to the stacktrace not being saved as a
   stacktrace but was still marked as one. When the stacktrace was read,
   it would try to read an array but instead read the integer metadata
   of the stacktrace and dereferenced a bad value.

   Fix this by saving the stacktrace field as a stacktrace.

 - Fix possible overflow in cmp_mod_entry() compare function

   A binary search is used to find a module address and if the addresses
   are greater than 2GB apart it could lead to truncation and cause a
   bad search result. Use normal compares instead of a subtraction
   between addresses to calculate the compare value.

 - Fix output of entry arguments in function graph tracer

   Depending on the configurations enabled, the entry can be two
   different types that hold the argument array. The macro
   FGRAPH_ENTRY_ARGS() is used to find the correct arguments from the
   given type. One location was missed and still referenced the
   arguments directly via entry->args and could produce the wrong value
   depending on how the kernel was configured.

 - Fix memory leak in scripts/tracepoint-update build tool

   If the array fails to allocate, the memory for the values needs to be
   freed and was not. Free the allocated values if the array failed to
   allocate.

* tag 'trace-v6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
  scripts/tracepoint-update: Fix memory leak in add_string() on failure
  function_graph: Fix args pointer mismatch in print_graph_retval()
  tracing: Avoid possible signed 64-bit truncation
  tracing: Fix crash on synthetic stacktrace field usage
2026-01-24 17:18:57 -08:00
..
atomic atomic: Skip alignment check for try_cmpxchg() old arg 2025-10-21 12:31:56 +02:00
bash-completion
basic
clang-tools Revert "scripts/clang-tools: Handle included .c files in gen_compile_commands" 2025-12-27 20:48:01 +01:00
coccinelle Coccinelle: pm_runtime: Fix typo in report message 2025-12-21 21:04:52 +01:00
crypto lib/crypto: tests: Fix syntax error for old python versions 2026-01-08 11:14:59 -08:00
dtc scripts: dt_to_config: fix grammar and a typo in --help text 2025-09-26 15:53:30 -05:00
dummy-tools
gcc-plugins gcc-plugins: Remove TODO_verify_il for GCC >= 16 2025-09-23 13:59:39 -07:00
gdb scripts/gdb/symbols: make BPF debug info available to GDB 2025-11-20 14:03:42 -08:00
gendwarfksyms gendwarfksyms: Skip files with no exports 2025-11-11 20:37:11 +01:00
genksyms
include
ipe
kconfig kconfig: fix static linking of nconf 2026-01-14 14:23:20 +01:00
ksymoops
livepatch objtool/klp: Only enable --checksum when needed 2025-11-18 09:59:26 +01:00
mod mcb: Add missing modpost build support 2025-12-27 20:48:01 +01:00
package kbuild: install-extmod-build: Properly fix CC expansion when ccache is used 2025-11-11 22:31:34 -07:00
selinux docs: Remove remainders of reiserfs 2025-08-18 10:45:43 -06:00
tracing
.gitignore scripts: add tracepoint-update to the list of ignores files 2025-10-29 08:46:05 -04:00
Kbuild.include
Kconfig.include init: deduplicate cc-can-link.sh invocations 2025-11-14 20:20:34 +01:00
Lindent
Makefile tracing: Add a tracepoint verification check at build time 2025-10-24 16:43:14 -04:00
Makefile.asm-headers
Makefile.autofdo
Makefile.btf
Makefile.build kbuild: fix compilation of dtb specified on command-line without make rule 2025-12-27 20:48:01 +01:00
Makefile.clang
Makefile.clean
Makefile.compiler
Makefile.debug
Makefile.defconf
Makefile.dtbinst
Makefile.dtbs kbuild: Ensure .dtbo targets are applied to a base .dtb 2025-11-17 11:27:52 -06:00
Makefile.gcc-plugins
Makefile.headersinst
Makefile.host
Makefile.kasan kasan: fix GCC mem-intrinsic prefix with sw tags 2025-08-27 22:45:43 -07:00
Makefile.kcov
Makefile.kcsan
Makefile.kmsan
Makefile.kstack_erase
Makefile.lib objtool/klp: Only enable --checksum when needed 2025-11-18 09:59:26 +01:00
Makefile.modfinal tracing: Add warnings for unused tracepoints for modules 2025-10-24 16:43:15 -04:00
Makefile.modinst kbuild: Use objtree for module signing key path 2025-11-08 12:17:58 +01:00
Makefile.modpost
Makefile.package kbuild: add target to build a cpio containing modules 2025-11-26 21:56:14 +01:00
Makefile.propeller
Makefile.randstruct
Makefile.ubsan
Makefile.userprogs
Makefile.vdsoinst
Makefile.vmlinux kbuild: Strip trailing padding bytes from modules.builtin.modinfo 2025-11-06 09:50:23 -07:00
Makefile.vmlinux_o kbuild: Check for functions with ambiguous -ffunction-sections section names 2025-11-21 10:04:10 +01:00
Makefile.warn kbuild: Rename Makefile.extrawarn to Makefile.warn 2025-11-08 12:17:59 +01:00
as-version.sh
asn1_compiler.c
bloat-o-meter
bootgraph.pl
bpf_doc.py bpf: Finish constification of 1st parameter of bpf_d_path() 2025-10-04 09:05:23 -07:00
build-version
cc-can-link.sh kbuild: don't enable CC_CAN_LINK if the dummy program generates warnings 2025-11-14 20:20:34 +01:00
cc-version.sh
check-function-names.sh kbuild: prefer ${NM} in check-function-names.sh 2026-01-14 14:13:41 +01:00
check-git
check-sysctl-docs
check-uapi.sh
check_extable.sh
checkdeclares.pl
checkincludes.pl
checkkconfigsymbols.py
checkpatch.pl checkpatch: add uninitialized pointer with __free attribute check 2025-12-10 16:07:42 -08:00
checkstack.pl
checksyscalls.sh
checkversion.pl
cleanfile
cleanpatch
coccicheck scripts: coccicheck: filter *.cocci files by MODE 2025-12-21 21:04:45 +01:00
config
const_structs.checkpatch
decode_stacktrace.sh scripts/decode_stacktrace.sh: fix build ID and PC source parsing 2025-11-09 21:19:45 -08:00
decodecode
depmod.sh
dev-needs.sh
diffconfig
elf-parse.c sorttable: Move ELF parsing into scripts/elf-parse.[ch] 2025-10-24 16:43:14 -04:00
elf-parse.h sorttable: Move ELF parsing into scripts/elf-parse.[ch] 2025-10-24 16:43:14 -04:00
extract-fwblobs
extract-ikconfig
extract-module-sig.pl
extract-sys-certs.pl
extract-vmlinux extract-vmlinux: Output used decompression method 2025-08-28 15:25:48 -07:00
extract_xc3028.pl
faddr2line scripts/faddr2line: Fix "Argument list too long" error 2025-10-14 14:45:20 -07:00
file-size.sh
gen-crc-consts.py
gen-randstruct-seed.sh
gen_packed_field_checks.c
generate_builtin_ranges.awk
generate_initcall_order.pl
generate_rust_analyzer.py rust: macros: support `proc-macro2`, `quote` and `syn` 2025-11-24 17:15:50 +01:00
generate_rust_target.rs rust: support Rust >= 1.91.0 target spec 2025-08-31 23:34:34 +02:00
get_dvb_firmware
get_maintainer.pl
gfp-translate
git-resolve.sh
git.orderFile
head-object-list.txt
headerdep.pl
headers_install.sh scripts: headers_install.sh: Remove two outdated config leak ignore entries 2025-11-11 16:01:13 +01:00
insert-sys-cert.c
install.sh
integer-wrap-ignore.scl
jobserver-exec docs: Move the python libraries to tools/lib/python 2025-11-18 09:22:40 -07:00
kallsyms.c
kernel-doc
kernel-doc.py docs: bring some order to our Python module hierarchy 2025-11-18 09:22:40 -07:00
ld-version.sh
leaking_addresses.pl
link-vmlinux.sh Detect unused tracepoints for v6.19: 2025-12-05 09:37:41 -08:00
macro_checker.py
make_fit.py
makelst
markup_oops.pl
min-tool-version.sh kbuild: Bump minimum version of LLVM for building the kernel to 15.0.0 2025-08-28 16:58:43 -07:00
misc-check scripts/misc-check: update export checks for EXPORT_SYMBOL_FOR_MODULES() 2025-08-26 12:00:17 -07:00
mkcompile_h
mksysmap modpost: Create modalias for builtin modules 2025-09-24 09:10:45 -07:00
mkuboot.sh
module-common.c
module.lds.S objtool/klp: Introduce klp diff subcommand for diffing object files 2025-10-14 14:50:18 -07:00
modules-check.sh
nsdeps
objdiff
objdump-func
orc_hash.sh
pahole-version.sh
parse-maintainers.pl
patch-kernel
profile2linkerlist.pl
prune-kernel
recordmcount.c
recordmcount.h
recordmcount.pl
relocs_check.sh
remove-stale-files
rust_is_available.sh
rust_is_available_bindgen_0_66.h
rust_is_available_bindgen_libclang.h
rust_is_available_bindgen_libclang_concat.h
rust_is_available_test.py
rustc-llvm-version.sh
rustc-version.sh
rustdoc_test_builder.rs
rustdoc_test_gen.rs rust: allow `clippy::disallowed_names` for doctests 2025-11-17 22:53:27 +01:00
setlocalversion
show_delta
sign-file.c
sorttable.c sorttable: Move ELF parsing into scripts/elf-parse.[ch] 2025-10-24 16:43:14 -04:00
spdxcheck-test.sh
spdxcheck.py treewide: Update email address 2026-01-11 06:09:11 -10:00
spdxexclude
spelling.txt
ssl-common.h
stackdelta
stackusage
subarch.include
syscall.tbl arch: hookup listns() system call 2025-11-03 17:41:18 +01:00
syscallhdr.sh
syscallnr.sh
syscalltbl.sh
tags.sh
tools-support-relr.sh
tracepoint-update.c scripts/tracepoint-update: Fix memory leak in add_string() on failure 2026-01-23 13:34:45 -05:00
unifdef.c
ver_linux
verify_builtin_ranges.awk
xen-hypercalls.sh
xz_wrap.sh