FIX stack offset in uretprobe disarming
authorVyacheslav Cherkashin <v.cherkashin@samsung.com>
Mon, 4 Mar 2013 13:12:09 +0000 (17:12 +0400)
committerVyacheslav Cherkashin <v.cherkashin@samsung.com>
Mon, 4 Mar 2013 13:12:09 +0000 (17:12 +0400)
kprobe/dbi_uprobes.c

index 3e6d394..7af607f 100644 (file)
@@ -275,7 +275,7 @@ int dbi_disarm_urp_inst(struct kretprobe_instance *ri, struct task_struct *rm_ta
        struct task_struct *task = rm_task ? rm_task : ri->task;
        kprobe_opcode_t *tramp = (kprobe_opcode_t *)(ri->rp->kp.ainsn.insn +
                        UPROBES_TRAMP_RET_BREAK_IDX);
-       kprobe_opcode_t *stack = ri->sp - RETPROBE_STACK_DEPTH;
+       kprobe_opcode_t *stack = ri->sp - RETPROBE_STACK_DEPTH + 1;
        kprobe_opcode_t *found = NULL;
        kprobe_opcode_t *buf[RETPROBE_STACK_DEPTH];
        int i, retval;