Name

tracehook_report_clone — in parent, new child is about to start running

Synopsis

void tracehook_report_clone (struct pt_regs * regs,
 unsigned long clone_flags,
 pid_t pid,
 struct task_struct * child);
 

Arguments

regs

parent's user register state

clone_flags

flags from parent's system call

pid

new child's PID in the parent's namespace

child

new child task

Description

Called after a child is set up, but before it has been started running. This is not a good place to block, because the child has not started yet. Suspend the child here if desired, and then block in tracehook_report_clone_complete. This must prevent the child from self-reaping if tracehook_report_clone_complete uses the child pointer; otherwise it might have died and been released by the time tracehook_report_clone_complete is called.

Called with no locks held, but the child cannot run until this returns.