linux/scripts
Carlos Llamas 7d9f7d390f scripts/decode_stacktrace.sh: fix build ID and PC source parsing
Support for parsing PC source info in stacktraces (e.g.  '(P)') was added
in commit 2bff77c665 ("scripts/decode_stacktrace.sh: fix decoding of
lines with an additional info").  However, this logic was placed after the
build ID processing.  This incorrect order fails to parse lines containing
both elements, e.g.:

  drm_gem_mmap_obj+0x114/0x200 [drm 03d0564e0529947d67bb2008c3548be77279fd27] (P)

This patch fixes the problem by extracting the PC source info first and
then processing the module build ID.  With this change, the line above is
now properly parsed as such:

  drm_gem_mmap_obj (./include/linux/mmap_lock.h:212 ./include/linux/mm.h:811 drivers/gpu/drm/drm_gem.c:1177) drm (P)

While here, also add a brief explanation the build ID section.

Link: https://lkml.kernel.org/r/20251030010347.2731925-1-cmllamas@google.com
Fixes: 2bff77c665 ("scripts/decode_stacktrace.sh: fix decoding of lines with an additional info")
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Cc: Breno Leitao <leitao@debian.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Marc Rutland <mark.rutland@arm.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Matthieu Baerts <matttbe@kernel.org>
Cc: Miroslav Benes <mbenes@suse.cz>
Cc: Puranjay Mohan <puranjay@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-11-09 21:19:45 -08:00
..
atomic rust: Introduce atomic API helpers 2025-09-15 09:38:32 +02:00
bash-completion
basic integer-wrap: Force full rebuild when .scl file changes 2025-05-08 09:42:06 -07:00
clang-tools
coccinelle Patch series in this pull request: 2025-10-02 18:44:54 -07:00
crypto lib/crypto: tests: Add KUnit tests for BLAKE2s 2025-08-29 09:50:19 -07: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 hrtimer: Remove hrtimer_clock_base:: Get_time 2025-09-09 12:27:18 +02:00
gendwarfksyms gendwarfksyms: order -T symtypes output by name 2025-07-26 15:31:30 +09:00
genksyms genksyms: Fix enum consts from a reference affecting new values 2025-06-07 14:38:07 +09:00
include
ipe
kconfig kconfig/nconf: Initialize the default locale at startup 2025-11-01 00:23:22 -04:00
ksymoops
lib docs: kdoc: a few more dump_typedef() tweaks 2025-09-18 10:19:54 -06:00
mod modpost: Initialize builtin_modname to stop SIGSEGVs 2025-09-28 07:54:07 -04:00
package kbuild: install-extmod-build: Fix when given dir outside the build dir 2025-10-25 21:59:20 +01:00
selinux docs: Remove remainders of reiserfs 2025-08-18 10:45:43 -06:00
tracing
.gitignore
Kbuild.include
Kconfig.include
Lindent
Makefile
Makefile.asm-headers
Makefile.autofdo
Makefile.btf kbuild, bpf: Enable --btf_features=attributes 2025-04-15 11:17:50 -07:00
Makefile.build kbuild: Let kernel-doc.py use PYTHON3 override 2025-11-08 19:42:22 -07:00
Makefile.clang
Makefile.clean
Makefile.compiler require gcc-8 and binutils-2.30 2025-05-31 08:16:52 -07:00
Makefile.debug
Makefile.defconf
Makefile.dtbinst
Makefile.dtbs scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c 2025-08-11 08:08:51 -05:00
Makefile.extrawarn scripts/Makefile.extrawarn: Respect CONFIG_WERROR / W=e for hostprogs 2025-10-07 09:46:04 -07:00
Makefile.gcc-plugins stackleak: Split KSTACK_ERASE_CFLAGS from GCC_PLUGINS_CFLAGS 2025-07-21 21:40:57 -07:00
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 - The 2 patch series "zram: support algorithm-specific parameters" from 2025-06-02 16:00:26 -07:00
Makefile.kcsan
Makefile.kmsan
Makefile.kstack_erase kstack_erase: Fix missed export of renamed KSTACK_ERASE_CFLAGS 2025-07-29 17:17:46 -07:00
Makefile.lib Kbuild updates for v6.16 2025-06-07 10:05:35 -07:00
Makefile.modfinal
Makefile.modinst
Makefile.modpost
Makefile.package
Makefile.propeller
Makefile.randstruct
Makefile.ubsan ARM: 2025-05-29 08:10:01 -07:00
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: extract modules.builtin.modinfo from vmlinux.unstripped 2025-09-24 09:10:44 -07: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
cc-version.sh
check-git
check-sysctl-docs docs: Replace spaces with tabs in check-sysctl-docs 2025-07-23 11:57:05 +02:00
check-uapi.sh
check-variable-fonts.sh
check_extable.sh
checkdeclares.pl
checkincludes.pl
checkkconfigsymbols.py
checkpatch.pl checkpatch: suppress strscpy warnings for userspace tools 2025-09-28 11:36:13 -07:00
checkstack.pl
checksyscalls.sh
checktransupdate.py scripts: add origin commit identification based on specific patterns 2025-07-24 08:41:15 -06:00
checkversion.pl
cleanfile
cleanpatch
coccicheck
config
const_structs.checkpatch const_structs.checkpatch: add bin_attribute 2025-06-17 10:44:07 +02:00
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
documentation-file-ref-check
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
file-size.sh
find-unused-docs.sh scripts/kernel-doc.py: don't create *.pyc files 2025-04-24 10:12:46 -06:00
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: add `pin-init` as a dependency to `bindings` and `uapi` 2025-09-08 13:42:39 +02:00
generate_rust_target.rs rust: support Rust >= 1.91.0 target spec 2025-08-31 23:34:34 +02:00
get_abi.py
get_dvb_firmware
get_feat.pl
get_maintainer.pl
gfp-translate
git-resolve.sh git-resolve: add SPDX and copyright line 2025-04-25 15:54:24 +02:00
git.orderFile
head-object-list.txt
headerdep.pl
headers_install.sh uapi: wrap compiler_types.h in an ifdef instead of the implicit strip 2025-08-28 13:06:48 +02:00
insert-sys-cert.c
install.sh
integer-wrap-ignore.scl
jobserver-exec
kallsyms.c
kernel-doc scripts/kernel-doc: switch to use kernel-doc.py 2025-04-09 12:10:34 -06:00
kernel-doc.pl scripts: kernel-doc: fix parsing function-like typedefs (again) 2025-04-09 12:10:34 -06:00
kernel-doc.py docs: kernel-doc: avoid script crash on ancient Python 2025-08-11 10:54:29 -06:00
ld-version.sh
leaking_addresses.pl
link-vmlinux.sh kbuild: vmlinux.unstripped should always depend on .vmlinux.export.o 2025-09-24 09:10:45 -07:00
macro_checker.py
make_fit.py scripts/make_fit: Print DT name before libfdt errors 2025-03-27 14:03:32 -05:00
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 alloc_tag: remove empty module tag section 2025-07-09 22:42:03 -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 tracing: Remove redundant config HAVE_FTRACE_MCOUNT_RECORD 2025-07-22 20:15:56 -04:00
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 rust: use absolute paths in macros referencing core and kernel 2025-05-23 00:12:14 +02:00
rustdoc_test_gen.rs rust: kunit: use `kernel::{fmt,prelude::fmt!}` 2025-09-16 09:26:59 +02:00
setlocalversion
show_delta
sign-file.c
sorttable.c scripts/sorttable: Fix endianness handling in build-time mcount sort 2025-04-02 09:51:26 -04:00
spdxcheck-test.sh
spdxcheck.py
spdxexclude
spelling.txt scripts/spelling.txt: add notifer||notifier to spelling.txt 2025-08-02 12:01:40 -07:00
sphinx-build-wrapper scripts: sphinx-build-wrapper: get rid of uapi/media Makefile 2025-08-29 15:54:43 -06:00
sphinx-pre-install scripts/sphinx-pre-install: fix Archlinux PDF dependencies 2025-08-21 14:08:53 -06:00
split-man.pl
ssl-common.h
stackdelta
stackusage
subarch.include
syscall.tbl fs: introduce file_getattr and file_setattr syscalls 2025-07-02 17:05:17 +02:00
syscallhdr.sh
syscallnr.sh
syscalltbl.sh
tags.sh scripts/tags.sh: allow to use alternative ctags implementation 2025-06-06 05:40:25 +09:00
test_doc_build.py scripts: test_doc_build.py: regroup and rename arguments 2025-06-25 12:22:48 -06:00
tools-support-relr.sh
unifdef.c
ver_linux ver_linux: Remove checks for reiserfsprogs. 2025-06-09 14:53:16 -06:00
verify_builtin_ranges.awk
xen-hypercalls.sh
xz_wrap.sh