[PATCH 0/6] KVM: arm64: nVHE stack unwinder rework

Marc Zyngier maz at kernel.org
Wed Jul 27 07:29:00 PDT 2022


Hi all,

As Kalesh's series[1] already went through quite a few rounds and that
it has proved to be an extremely useful debugging help, I'd like to
queue it for 5.20.

However, there is a couple of nits that I'd like to address:

- the code is extremely hard to follow, due to the include maze and
  the various levels of inline functions that have forward
  declarations...

- there is a subtle bug in the way the kernel on_accessible_stack()
  helper has been rewritten

- the config symbol for the protected unwinder is oddly placed

Instead of going for another round and missing the merge window, I
propose to stash the following patches on top, which IMHO result in
something much more readable.

This series directly applies on top of Kalesh's.

[1] https://lore.kernel.org/r/20220726073750.3219117-1-kaleshsingh@google.com

Marc Zyngier (5):
  KVM: arm64: Move PROTECTED_NVHE_STACKTRACE around
  KVM: arm64: Move nVHE stacktrace unwinding into its own compilation
    unit
  KVM: arm64: Make unwind()/on_accessible_stack() per-unwinder functions
  KVM: arm64: Move nVHE-only helpers into kvm/stacktrace.c
  arm64: Update 'unwinder howto'

Oliver Upton (1):
  KVM: arm64: Don't open code ARRAY_SIZE()

 arch/arm64/include/asm/stacktrace.h        |  74 -------
 arch/arm64/include/asm/stacktrace/common.h |  69 ++-----
 arch/arm64/include/asm/stacktrace/nvhe.h   | 125 +-----------
 arch/arm64/kernel/stacktrace.c             |  90 +++++++++
 arch/arm64/kvm/Kconfig                     |  24 ++-
 arch/arm64/kvm/Makefile                    |   2 +-
 arch/arm64/kvm/handle_exit.c               |  98 ---------
 arch/arm64/kvm/hyp/nvhe/stacktrace.c       |  55 +++++-
 arch/arm64/kvm/stacktrace.c                | 218 +++++++++++++++++++++
 9 files changed, 394 insertions(+), 361 deletions(-)
 create mode 100644 arch/arm64/kvm/stacktrace.c

-- 
2.34.1




More information about the linux-arm-kernel mailing list