Lines Matching refs:ri
565 void arch_prepare_kretprobe(struct kretprobe_instance *ri, struct pt_regs *regs) in arch_prepare_kretprobe() argument
569 ri->ret_addr = (kprobe_opcode_t *) *sara; in arch_prepare_kretprobe()
570 ri->fp = sara; in arch_prepare_kretprobe()
759 struct kretprobe_instance *ri = NULL; in trampoline_handler() local
805 hlist_for_each_entry(ri, head, hlist) { in trampoline_handler()
806 if (ri->task != current) in trampoline_handler()
817 if (ri->fp != frame_pointer) { in trampoline_handler()
824 orig_ret_address = (unsigned long)ri->ret_addr; in trampoline_handler()
827 ri->rp->kp.addr); in trampoline_handler()
838 kretprobe_assert(ri, orig_ret_address, trampoline_address); in trampoline_handler()
840 correct_ret_addr = ri->ret_addr; in trampoline_handler()
841 hlist_for_each_entry_safe(ri, tmp, head, hlist) { in trampoline_handler()
842 if (ri->task != current) in trampoline_handler()
845 if (ri->fp != frame_pointer) in trampoline_handler()
848 orig_ret_address = (unsigned long)ri->ret_addr; in trampoline_handler()
849 if (ri->rp && ri->rp->handler) { in trampoline_handler()
850 __this_cpu_write(current_kprobe, &ri->rp->kp); in trampoline_handler()
851 ri->ret_addr = correct_ret_addr; in trampoline_handler()
852 ri->rp->handler(ri, regs); in trampoline_handler()
856 recycle_rp_inst(ri, &empty_rp); in trampoline_handler()
872 hlist_for_each_entry_safe(ri, tmp, &empty_rp, hlist) { in trampoline_handler()
873 hlist_del(&ri->hlist); in trampoline_handler()
874 kfree(ri); in trampoline_handler()