[FIX] ret_handler_unmap() (deadlock on stop) 09/23309/1
authorVyacheslav Cherkashin <v.cherkashin@samsung.com>
Mon, 23 Jun 2014 10:52:01 +0000 (14:52 +0400)
committerVyacheslav Cherkashin <v.cherkashin@samsung.com>
Mon, 23 Jun 2014 10:52:01 +0000 (14:52 +0400)
Change-Id: Ib82d1319327a676b93ebff2b8912aa5bf0992bc2
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
us_manager/helper.c

index a268cad..2ecbe42 100644 (file)
@@ -389,10 +389,11 @@ static int ret_handler_unmap(struct kretprobe_instance *ri,
        task = current->group_leader;
        if (is_kthread(task) ||
            get_regs_ret_val(regs))
-               return 0;
+               goto out;
 
        remove_unmap_probes(task, (struct unmap_data *)ri->data);
 
+out:
        atomic_dec(&unmap_cnt);
 
        return 0;