Re: [PATCH v3 4/4] ARM: stacktrace: Convert stacktrace to generic ARCH_STACKWALK

From: Linus Walleij
Date: Wed Jul 27 2022 - 03:25:37 EST


On Wed, Jul 27, 2022 at 6:03 AM Li Huafei <lihuafei1@xxxxxxxxxx> wrote:

> Historically architectures have had duplicated code in their stack trace
> implementations for filtering what gets traced. In order to avoid this
> duplication some generic code has been provided using a new interface
> arch_stack_walk(), enabled by selecting ARCH_STACKWALK in Kconfig, which
> factors all this out into the generic stack trace code. Convert ARM to
> use this common infrastructure.
>
> When initializing the stack frame of the current task, arm64 uses
> __builtin_frame_address(1) to initialize the frame pointer, skipping
> arch_stack_walk(), see the commit c607ab4f916d ("arm64: stacktrace:
> don't trace arch_ stack_walk()"). Since __builtin_frame_address(1) does
> not work on ARM, unwind_frame() is used to unwind the stack one layer
> forward before calling walk_stackframe().
>
> Signed-off-by: Li Huafei <lihuafei1@xxxxxxxxxx>

Looks good to me.
Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>

Yours,
Linus Walleij