-int arch_prepare_uprobe(struct kprobe *p, struct task_struct *task, int atomic);
+int arch_prepare_uprobe(struct uprobe *up, int atomic);
return 0;
}
-int arch_prepare_uprobe(struct kprobe *p, struct task_struct *task, int atomic)
+int arch_prepare_uprobe(struct uprobe *up, int atomic)
{
int ret = 0;
+ struct kprobe *p = &up->kp;
+ struct task_struct *task = up->task;
kprobe_opcode_t insn[MAX_INSN_SIZE];
if ((unsigned long)p->addr & 0x01) {
{
}
-int arch_prepare_uprobe(struct kprobe *p, struct task_struct *task, int atomic);
+int arch_prepare_uprobe(struct uprobe *up, int atomic);
int setjmp_upre_handler(struct kprobe *p, struct pt_regs *regs);
static inline int longjmp_break_uhandler(struct kprobe *p, struct pt_regs *regs)
goto out;
}
- ret = arch_prepare_uprobe(p, up->task, atomic);
+ ret = arch_prepare_uprobe(up, atomic);
if (ret) {
DBPRINTF("goto out\n", ret);
goto out;