tracehook_report_clone — in parent, new child is about to start running
void tracehook_report_clone ( | struct pt_regs * regs, |
| unsigned long clone_flags, | |
| pid_t pid, | |
struct task_struct * child); |
regsparent's user register state
clone_flagsflags from parent's system call
pidnew child's PID in the parent's namespace
childnew child task
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.