All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/9] arm64: stacktrace: cleanups and improvements
@ 2022-08-15 11:39 Mark Rutland
  2022-08-15 11:39 ` [PATCH v3 1/9] arm64: stacktrace: fix kerneldoc comments Mark Rutland
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Mark Rutland @ 2022-08-15 11:39 UTC (permalink / raw)
  To: linux-arm-kernel, Will Deacon, Marc Zyngier
  Cc: broonie, catalin.marinas, james.morse, kaleshsingh, madvenka,
	mark.rutland, tabba

Hi,

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

Since v2 [2]:
* Fix kerneldoc comments
* Make kvm_nvhe_stack_kern_va() take a size
* Apply tags from Madhavan Venkataraman and Mark Brown
* Rebase (trivial) atop v6.0-rc1

[1] https://lore.kernel.org/r/20220801121209.2479449-1-mark.rutland@arm.com
[2] https://lore.kernel.org/r/20220805124522.706457-1-mark.rutland@arm.com

Thanks,
Mark.

Mark Rutland (9):
  arm64: stacktrace: fix kerneldoc comments
  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 | 221 +++++++++------------
 arch/arm64/include/asm/stacktrace/nvhe.h   |   4 +-
 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                | 137 ++++++++-----
 10 files changed, 301 insertions(+), 291 deletions(-)

-- 
2.30.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2022-08-23  5:12 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-15 11:39 [PATCH v3 0/9] arm64: stacktrace: cleanups and improvements Mark Rutland
2022-08-15 11:39 ` [PATCH v3 1/9] arm64: stacktrace: fix kerneldoc comments Mark Rutland
2022-08-16 15:59   ` Mark Brown
2022-08-23  5:11   ` Madhavan T. Venkataraman
2022-08-15 11:39 ` [PATCH v3 2/9] arm64: stacktrace: simplify unwind_next_common() Mark Rutland
2022-08-15 11:39 ` [PATCH v3 3/9] arm64: stacktrace: rename unwind_next_common() -> unwind_next_frame_record() Mark Rutland
2022-08-15 11:39 ` [PATCH v3 4/9] arm64: stacktrace: move SDEI stack helpers to stacktrace code Mark Rutland
2022-08-15 11:39 ` [PATCH v3 5/9] arm64: stacktrace: add stackinfo_on_stack() helper Mark Rutland
2022-08-15 11:39 ` [PATCH v3 6/9] arm64: stacktrace: rework stack boundary discovery Mark Rutland
2022-08-15 11:39 ` [PATCH v3 7/9] arm64: stacktrace: remove stack type from fp translator Mark Rutland
2022-08-15 11:39 ` [PATCH v3 8/9] arm64: stacktrace: track all stack boundaries explicitly Mark Rutland
2022-08-15 11:39 ` [PATCH v3 9/9] arm64: stacktrace: track hyp stacks in unwinder's address space Mark Rutland

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.