arm64: kprobes: Make a frame pointer on __kretprobe_trampoline
Make a frame pointer (make the x29 register points the address of pt_regs->regs[29]) on __kretprobe_trampoline. This frame pointer will be used by the stacktracer when it is called from the kretprobe handlers. In this case, the stack tracer will unwind stack to trampoline_probe_handler() and find the next frame pointer in the stack frame of the __kretprobe_trampoline(). Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> Acked-by: Will Deacon <will@kernel.org> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
This commit is contained in:
parent
f871741062
commit
fc6d647638
@ -66,6 +66,9 @@ SYM_CODE_START(__kretprobe_trampoline)
|
||||
|
||||
save_all_base_regs
|
||||
|
||||
/* Setup a frame pointer. */
|
||||
add x29, sp, #S_FP
|
||||
|
||||
mov x0, sp
|
||||
bl trampoline_probe_handler
|
||||
/*
|
||||
@ -74,6 +77,7 @@ SYM_CODE_START(__kretprobe_trampoline)
|
||||
*/
|
||||
mov lr, x0
|
||||
|
||||
/* The frame pointer (x29) is restored with other registers. */
|
||||
restore_all_base_regs
|
||||
|
||||
add sp, sp, #PT_REGS_SIZE
|
||||
|
Loading…
x
Reference in New Issue
Block a user