]> www.infradead.org Git - nvme.git/commit
riscv: stacktrace: convert arch_stack_walk() to noinstr
authorAndy Chiu <andy.chiu@sifive.com>
Thu, 13 Jun 2024 07:11:06 +0000 (15:11 +0800)
committerPalmer Dabbelt <palmer@rivosinc.com>
Wed, 26 Jun 2024 14:37:59 +0000 (07:37 -0700)
commit23b2188920a25e88d447dd7d819a0b0f62fb4455
tree3d48089f37384eeec5f7512facf346726e9b1848
parent1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0
riscv: stacktrace: convert arch_stack_walk() to noinstr

arch_stack_walk() is called intensively in function_graph when the
kernel is compiled with CONFIG_TRACE_IRQFLAGS. As a result, the kernel
logs a lot of arch_stack_walk and its sub-functions into the ftrace
buffer. However, these functions should not appear on the trace log
because they are part of the ftrace itself. This patch references what
arm64 does for the smae function. So it further prevent the re-enter
kprobe issue, which is also possible on riscv.

Related-to: commit 0fbcd8abf337 ("arm64: Prohibit instrumentation on arch_stack_walk()")
Fixes: 680341382da5 ("riscv: add CALLER_ADDRx support")
Signed-off-by: Andy Chiu <andy.chiu@sifive.com>
Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Link: https://lore.kernel.org/r/20240613-dev-andyc-dyn-ftrace-v4-v1-1-1a538e12c01e@sifive.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/kernel/stacktrace.c