arm64: stacktrace: Handle frame pointer from different address spaces
authorKalesh Singh <kaleshsingh@google.com>
Tue, 26 Jul 2022 07:37:37 +0000 (00:37 -0700)
committerMarc Zyngier <maz@kernel.org>
Tue, 26 Jul 2022 09:48:32 +0000 (10:48 +0100)
commit5b1b08619f50422c3e43d1fd7af257595a9e4a67
tree52d759cc999a69530c2efec5e64b9d6613e62fe5
parentbe63c647fd28d25484257f5f36a008db7d99991d
arm64: stacktrace: Handle frame pointer from different address spaces

The unwinder code is made reusable so that it can be used to
unwind various types of stacks. One usecase is unwinding the
nVHE hyp stack from the host (EL1) in non-protected mode. This
means that the unwinder must be able to translate HYP stack
addresses to kernel addresses.

Add a callback (stack_trace_translate_fp_fn) to allow specifying
the translation function.

Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
Reviewed-by: Fuad Tabba <tabba@google.com>
Tested-by: Fuad Tabba <tabba@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220726073750.3219117-5-kaleshsingh@google.com
arch/arm64/include/asm/stacktrace/common.h
arch/arm64/kernel/stacktrace.c