Re: [PATCH v2 0/8] arm64: stacktrace: cleanups and improvements

Madhavan T. Venkataraman
2022-08-06T01:13:00Z

Thanks for the improvements.

For the whole series:

Reviewed-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>

On 8/5/22 07:45, Mark Rutland wrote:
> 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(-)
>