mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 04:33:26 +02:00
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>
This commit is contained in:
@@ -49,6 +49,7 @@ static void show_backtrace(void)
|
||||
}
|
||||
|
||||
static int sample_entry_handler(struct fprobe *fp, unsigned long ip,
|
||||
unsigned long ret_ip,
|
||||
struct pt_regs *regs, void *data)
|
||||
{
|
||||
if (use_trace)
|
||||
@@ -65,10 +66,11 @@ static int sample_entry_handler(struct fprobe *fp, unsigned long ip,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void sample_exit_handler(struct fprobe *fp, unsigned long ip, struct pt_regs *regs,
|
||||
static void sample_exit_handler(struct fprobe *fp, unsigned long ip,
|
||||
unsigned long ret_ip, struct pt_regs *regs,
|
||||
void *data)
|
||||
{
|
||||
unsigned long rip = instruction_pointer(regs);
|
||||
unsigned long rip = ret_ip;
|
||||
|
||||
if (use_trace)
|
||||
/*
|
||||
|
Reference in New Issue
Block a user