return ret;
}
-void arch_opcode_analysis_uretprobe(struct uretprobe *rp)
+void arch_opcode_analysis_uretprobe(kprobe_opcode_t opcode)
{
- kprobe_opcode_t opcode = rp->up.kp.opcode;
-
/* Remove retprobe if first insn overwrites lr */
rp->thumb_noret = !!(THUMB2_INSN_MATCH(BL, opcode) ||
THUMB2_INSN_MATCH(BLX1, opcode) ||
return 0;
}
-void arch_opcode_analysis_uretprobe(struct uretprobe *rp);
+void arch_opcode_analysis_uretprobe(kprobe_opcode_t opcode);
void arch_prepare_uretprobe(struct uretprobe_instance *ri, struct pt_regs *regs);
unsigned long arch_get_trampoline_addr(struct kprobe *p, struct pt_regs *regs);