[FIX] Change order of probe register
authorDmitry Kovalenko <d.kovalenko@samsung.com>
Tue, 25 Jun 2013 11:31:07 +0000 (15:31 +0400)
committerDmitry Kovalenko <d.kovalenko@samsung.com>
Tue, 25 Jun 2013 11:31:07 +0000 (15:31 +0400)
kprobe/dbi_uprobes.c

index 14779d3..286de1f 100644 (file)
@@ -252,16 +252,16 @@ int dbi_register_uretprobe(struct task_struct *task, struct kretprobe *rp, int a
 
        rp->nmissed = 0;
 
-       /* Establish function exit probe point */
-       ret = arch_prepare_uretprobe(rp, task);
+       /* Establish function entry probe point */
+       ret = __register_uprobe(&rp->kp, task, atomic);
        if (ret) {
+               free_rp_inst(rp);
                goto out;
        }
 
-       /* Establish function entry probe point */
-       ret = __register_uprobe(&rp->kp, task, atomic);
+       /* Establish function exit probe point */
+       ret = arch_prepare_uretprobe(rp, task);
        if (ret) {
-               free_rp_inst(rp);
                goto out;
        }