Message ID | 20241017092538.1859841-1-mark.rutland@arm.com (mailing list archive) |
---|---|
Headers | show |
Series | arm64: stacktrace: improve unwind reporting | expand |
On Thu, 17 Oct 2024 10:25:28 +0100, Mark Rutland wrote: > This series improves arm64's unwinder to explicitly identify exception > boundaries, reporting both pt_regs::pc and pt_regs::lr and explicitly > identifying the source of elements in the stacktrace. This is useful to > humans when reviewing a stacktrace, and serves as infrastructure that > can be used for RELIABLE_STACKTRACE in future. > > The first 6 patches are preparatory work that are not intended to have > any functional impact, with patches 7 to 10 making the key changes. > Largely this involves teaching the unwinder to track metadata for each > unwind step, and modifying the way we manage pt_regs::stackframe so that > exception boundaries can be identifier explcitily. > > [...] Applied to arm64 (for-next/stacktrace), thanks! [01/10] arm64: pt_regs: assert pt_regs is a multiple of 16 bytes https://git.kernel.org/arm64/c/c87df9cb9a21 [02/10] arm64: pt_regs: remove stale big-endian layout https://git.kernel.org/arm64/c/2716d59bf483 [03/10] arm64: pt_regs: rename "pmr_save" -> "pmr" https://git.kernel.org/arm64/c/00d9597903d0 [04/10] arm64: pt_regs: swap 'unused' and 'pmr' fields https://git.kernel.org/arm64/c/1454363098a0 [05/10] arm64: use a common struct frame_record https://git.kernel.org/arm64/c/886c2b0ba820 [06/10] arm64: stacktrace: move dump_backtrace() to kunwind_stack_walk() https://git.kernel.org/arm64/c/b7794795c93d [07/10] arm64: stacktrace: report source of unwind data https://git.kernel.org/arm64/c/bdf8eafbf7f5 [08/10] arm64: stacktrace: report recovered PCs https://git.kernel.org/arm64/c/8094df1cf092 [09/10] arm64: stacktrace: split unwind_consume_stack() https://git.kernel.org/arm64/c/f05a4a42de90 [10/10] arm64: stacktrace: unwind exception boundaries https://git.kernel.org/arm64/c/c2c6b27b5aa1