linux kernel - Get a function's return value in a kretprobe handler -
i want know if possible hook kretprobe on kernel function , capture it's return value in return handler of kretprobe.
it's little bit old question, still looking answer..
how register kretprobe can see in documentation kprobes (https://www.kernel.org/doc/documentation/kprobes.txt)
an architecture independent function captures ret value syscalls:
#include <linux/ptrace.h> ... int hook_retcode(struct kretprobe_instance *ri, struct pt_regs *regs) { unsigned long retval = 0; retval = regs_return_value(regs); if (is_syscall_success(regs)) { printk("%pf exited code %#lx\n", ri->rp->kp.addr, retval); } else { printk("%pf failed code %#lx\n", ri->rp->kp.addr, retval); } }
Comments
Post a Comment