arm64: Mark start_backtrace() notrace and NOKPROBE_SYMBOL
authorMasami Hiramatsu <mhiramat@kernel.org>
Mon, 24 Jan 2022 08:17:54 +0000 (17:17 +0900)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 24 Jan 2022 14:25:20 +0000 (14:25 +0000)
Mark the start_backtrace() as notrace and NOKPROBE_SYMBOL
because this function is called from ftrace and lockdep to
get the caller address via return_address(). The lockdep
is used in kprobes, it should also be NOKPROBE_SYMBOL.

Fixes: b07f3499661c ("arm64: stacktrace: Move start_backtrace() out of the header")
Cc: <stable@vger.kernel.org> # 5.13.x
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/164301227374.1433152.12808232644267107415.stgit@devnote2
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/stacktrace.c

index 0fb58fe..e4103e0 100644 (file)
@@ -33,8 +33,8 @@
  */
 
 
-static void start_backtrace(struct stackframe *frame, unsigned long fp,
-                           unsigned long pc)
+static notrace void start_backtrace(struct stackframe *frame, unsigned long fp,
+                                   unsigned long pc)
 {
        frame->fp = fp;
        frame->pc = pc;
@@ -55,6 +55,7 @@ static void start_backtrace(struct stackframe *frame, unsigned long fp,
        frame->prev_fp = 0;
        frame->prev_type = STACK_TYPE_UNKNOWN;
 }
+NOKPROBE_SYMBOL(start_backtrace);
 
 /*
  * Unwind from one frame record (A) to the next frame record (B).