[FIX] optimize nested call US instrumentation 50/19050/2
authorVyacheslav Cherkashin <v.cherkashin@samsung.com>
Fri, 4 Apr 2014 13:54:56 +0000 (17:54 +0400)
committerDmitry Kovalenko <d.kovalenko@samsung.com>
Mon, 7 Apr 2014 06:05:32 +0000 (23:05 -0700)
Change-Id: Ie63b7175621a6b0cf3186f0a598ff5b874ed9e31
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
uprobe/swap_uprobes.c

index 8fadb5e..393811f 100644 (file)
@@ -655,7 +655,7 @@ int trampoline_uprobe_handler(struct kprobe *p, struct pt_regs *regs)
                orig_ret_addr = (unsigned long)ri->ret_addr;
                recycle_urp_inst(ri);
 
-               if (orig_ret_addr != tramp_addr) {
+               if (orig_ret_addr != tramp_addr && &ri->rp->up.kp == p) {
                        /*
                         * This is the real return address. Any other
                         * instances associated with this task are for