diff options
author | 2021-09-14 23:42:22 +0900 | |
---|---|---|
committer | 2021-09-30 21:24:07 -0400 | |
commit | 1f36839308cf8d7d9d35586029f8ae4322e18ef5 (patch) | |
tree | f28e70d7617147faaad89155589872b72d0f7bbe /kernel/trace/trace_stack.c | |
parent | kprobes: Enable stacktrace from pt_regs in kretprobe handler (diff) | |
download | wireguard-linux-1f36839308cf8d7d9d35586029f8ae4322e18ef5.tar.xz wireguard-linux-1f36839308cf8d7d9d35586029f8ae4322e18ef5.zip |
x86/kprobes: Push a fake return address at kretprobe_trampoline
Change __kretprobe_trampoline() to push the address of the
__kretprobe_trampoline() as a fake return address at the bottom
of the stack frame. This fake return address will be replaced
with the correct return address in the trampoline_handler().
With this change, the ORC unwinder can check whether the return
address is modified by kretprobes or not.
Link: https://lkml.kernel.org/r/163163054185.489837.14338744048957727386.stgit@devnote2
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Suggested-by: Josh Poimboeuf <jpoimboe@redhat.com>
Tested-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace_stack.c')
0 files changed, 0 insertions, 0 deletions