Re: selftests: ftrace: WARNING: at arch/arm64/kernel/stacktrace.c:112 arch_stack_walk
From: Puranjay Mohan
Date: Fri Jun 14 2024 - 08:15:09 EST
Hi Naresh,
Thanks for finding this.
On Thu, Jun 13, 2024 at 3:16 PM Naresh Kamboju
<naresh.kamboju@xxxxxxxxxx> wrote:
>
> The following kernel warning noticed on arm64 qemu-arm64 and rk3399-rock-pi-4
> device while running selftests ftrace tests on Linux next-20240613.
>
> This is always reproducible on qemu-arm64 and rock-pi-4 device with
> kselftest merge configs
>
> Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>
>
> Test log:
> -------
> kselftest: Running tests in ftrace
> TAP version 13
> 1..1
> # timeout set to 0
> # selftests: ftrace: ftracetest-ktap
> # unlink: cannot unlink
> '/opt/kselftests/default-in-kernel/ftrace/logs/latest': No such file
> or directory
> # TAP version 13
> # 1..141
> # ok 1 Basic trace file check
> <4>[ 96.183553] ------------[ cut here ]------------
> <4>[ 96.187100] WARNING: CPU: 1 PID: 538 at
> arch/arm64/kernel/stacktrace.c:112 arch_stack_walk
29c1c24a2707 ("function_graph: Fix up ftrace_graph_ret_addr()") made
the ftrace_graph_ret_addr() use the
'idx' pointer to optimise the stack unwinding but arm64, riscv, and
some other architectures pass `NULL` for this
parameter. The fix for this is to pass a valid pointer to
ftrace_graph_ret_addr() like x86_64 is doing.
I will send a patch to fix this unless someone else has already sent one.
Thanks,
Puranjay