• O
    uprobes: Change the callsite of uprobe_copy_process() · b68e0749
    Oleg Nesterov 提交于
    Preparation for the next patches.
    
    Move the callsite of uprobe_copy_process() in copy_process() down
    to the succesfull return. We do not care if copy_process() fails,
    uprobe_free_utask() won't be called in this case so the wrong
    ->utask != NULL doesn't matter.
    
    OTOH, with this change we know that copy_process() can't fail when
    uprobe_copy_process() is called, the new task should either return
    to user-mode or call do_exit(). This way uprobe_copy_process() can:
    
    	1. setup p->utask != NULL if necessary
    
    	2. setup uprobes_state.xol_area
    
    	3. use task_work_add(p)
    
    Also, move the definition of uprobe_copy_process() down so that it
    can see get_utask().
    Signed-off-by: NOleg Nesterov <oleg@redhat.com>
    Acked-by: NSrikar Dronamraju <srikar@linux.vnet.ibm.com>
    b68e0749
fork.c 45.7 KB