From: Mark Rutland <mark.rutland@arm.com>
To: linux-arm-kernel@lists.infradead.org, Marc Zyngier <maz@kernel.org>
Cc: broonie@kernel.org, catalin.marinas@arm.com, james.morse@arm.com,
kaleshsingh@google.com, madvenka@linux.microsoft.com,
mark.rutland@arm.com, tabba@google.com, will@kernel.org
Subject: [PATCH v2 0/8] arm64: stacktrace: cleanups and improvements
Date: Fri, 5 Aug 2022 13:45:14 +0100 [thread overview]
Message-ID: <20220805124522.706457-1-mark.rutland@arm.com> (raw)
Hi Marc,
This series is a set of improvements for the recently merged stacktrace
rework queued in the kvmarm next branch, along the lines of my prior
suggestions. I'm hoping that it would be possible to queue this for
-rc1.
Largely, the series decouples portions of the unwind code, making some
structural changes that remove the need for coupling (e.g. removing the
need for the stack type enumeration, and factoring out callbacks). This
should make it easier to make some further changes I have spoken about
previously (e.g. adding some metadata to the stack dump output), and I
have some patches building atop this which I intend to send out once
this is merged.
The only (intended) functional change from this series is improved
boundary detection, where overlapping frame records will now be caught
and rejected.
I've tested this natively (with the ftrace tests, LKDTM, and
/proc/self/stack), which seems happy.
I've also tested the NVHE and PKVM unwinders by hacking a BUG() into the
hyp code shortly after the KVM hyp code is initialized, and in both
cases the output is unchanged.
Since v1 [1]:
* Fix build warning with CONFIG_SDEI_INTERFACE=y && W=1
* Fix typos
* Fix whitespace errors
* Apply tags from Kalesh Singh and Mark Brown
[1] https://lore.kernel.org/r/20220801121209.2479449-1-mark.rutland@arm.com
Thanks,
Mark.
Mark Rutland (8):
arm64: stacktrace: simplify unwind_next_common()
arm64: stacktrace: rename unwind_next_common() ->
unwind_next_frame_record()
arm64: stacktrace: move SDEI stack helpers to stacktrace code
arm64: stacktrace: add stackinfo_on_stack() helper
arm64: stacktrace: rework stack boundary discovery
arm64: stacktrace: remove stack type from fp translator
arm64: stacktrace: track all stack boundaries explicitly
arm64: stacktrace: track hyp stacks in unwinder's address space
arch/arm64/include/asm/processor.h | 2 +-
arch/arm64/include/asm/sdei.h | 17 --
arch/arm64/include/asm/stacktrace.h | 71 +++++--
arch/arm64/include/asm/stacktrace/common.h | 211 +++++++++------------
arch/arm64/kernel/ptrace.c | 2 +-
arch/arm64/kernel/sdei.c | 32 ----
arch/arm64/kernel/stacktrace.c | 66 ++++---
arch/arm64/kvm/hyp/nvhe/stacktrace.c | 40 ++--
arch/arm64/kvm/stacktrace.c | 135 +++++++------
9 files changed, 288 insertions(+), 288 deletions(-)
--
2.30.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2022-08-05 12:46 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-05 12:45 Mark Rutland [this message]
2022-08-05 12:45 ` [PATCH v2 1/8] arm64: stacktrace: simplify unwind_next_common() Mark Rutland
2022-08-05 12:45 ` [PATCH v2 2/8] arm64: stacktrace: rename unwind_next_common() -> unwind_next_frame_record() Mark Rutland
2022-08-08 11:38 ` Will Deacon
2022-08-08 11:46 ` Mark Rutland
2022-08-05 12:45 ` [PATCH v2 3/8] arm64: stacktrace: move SDEI stack helpers to stacktrace code Mark Rutland
2022-08-05 12:45 ` [PATCH v2 4/8] arm64: stacktrace: add stackinfo_on_stack() helper Mark Rutland
2022-08-05 12:45 ` [PATCH v2 5/8] arm64: stacktrace: rework stack boundary discovery Mark Rutland
2022-08-05 12:45 ` [PATCH v2 6/8] arm64: stacktrace: remove stack type from fp translator Mark Rutland
2022-08-08 11:55 ` Will Deacon
2022-08-08 12:08 ` Mark Rutland
2022-08-08 12:30 ` Mark Rutland
2022-08-08 11:56 ` Mark Brown
2022-08-05 12:45 ` [PATCH v2 7/8] arm64: stacktrace: track all stack boundaries explicitly Mark Rutland
2022-08-08 12:04 ` Mark Brown
2022-08-05 12:45 ` [PATCH v2 8/8] arm64: stacktrace: track hyp stacks in unwinder's address space Mark Rutland
2022-08-08 12:09 ` Mark Brown
2022-08-06 1:11 ` [PATCH v2 0/8] arm64: stacktrace: cleanups and improvements Madhavan T. Venkataraman
2022-08-08 11:59 ` Will Deacon
2022-08-08 12:11 ` Mark Rutland
2022-08-08 12:28 ` Will Deacon
2022-08-08 12:33 ` Mark Rutland
2022-08-08 12:38 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220805124522.706457-1-mark.rutland@arm.com \
--to=mark.rutland@arm.com \
--cc=broonie@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=james.morse@arm.com \
--cc=kaleshsingh@google.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=madvenka@linux.microsoft.com \
--cc=maz@kernel.org \
--cc=tabba@google.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox