diff options
author | Masami Hiramatsu (Google) <mhiramat@kernel.org> | 2023-06-06 21:39:55 +0900 |
---|---|---|
committer | Masami Hiramatsu (Google) <mhiramat@kernel.org> | 2023-06-06 21:39:55 +0900 |
commit | cb16330d12741f6dae56aad5acf62f5be3a06c4e (patch) | |
tree | 989f603fa2a1d02a0e12fc411435337102f45e8b /kernel/trace/rethook.c | |
parent | 9561de3a55bed6bdd44a12820ba81ec416e705a7 (diff) |
fprobe: Pass return address to the handlers
Pass return address as 'ret_ip' to the fprobe entry and return handlers
so that the fprobe user handler can get the reutrn address without
analyzing arch-dependent pt_regs.
Link: https://lore.kernel.org/all/168507467664.913472.11642316698862778600.stgit@mhiramat.roam.corp.google.com/
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Diffstat (limited to 'kernel/trace/rethook.c')
-rw-r--r-- | kernel/trace/rethook.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/trace/rethook.c b/kernel/trace/rethook.c index 60f6cb2b486b..f32ee484391a 100644 --- a/kernel/trace/rethook.c +++ b/kernel/trace/rethook.c @@ -301,7 +301,8 @@ unsigned long rethook_trampoline_handler(struct pt_regs *regs, break; handler = READ_ONCE(rhn->rethook->handler); if (handler) - handler(rhn, rhn->rethook->data, regs); + handler(rhn, rhn->rethook->data, + correct_ret_addr, regs); if (first == node) break; |