taglinefilesource code
child222kernel/ptrace.cstruct task_struct *child;
child234kernel/ptrace.cif (!(child = get_task(pid)))
child239kernel/ptrace.cif (child == current)
child241kernel/ptrace.cif ((!child->dumpable || (current->uid != child->euid) ||
child242kernel/ptrace.c(current->gid != child->egid)) && !suser())
child245kernel/ptrace.cif (child->flags & PF_PTRACED)
child247kernel/ptrace.cchild->flags |= PF_PTRACED;
child248kernel/ptrace.cif (child->p_pptr != current) {
child249kernel/ptrace.cREMOVE_LINKS(child);
child250kernel/ptrace.cchild->p_pptr = current;
child251kernel/ptrace.cSET_LINKS(child);
child253kernel/ptrace.ctmp = get_stack_long(child, 4*EFL-MAGICNUMBER) | TRAP_FLAG;
child254kernel/ptrace.cput_stack_long(child, 4*EFL-MAGICNUMBER,tmp);
child255kernel/ptrace.cif (child->state == TASK_INTERRUPTIBLE ||
child256kernel/ptrace.cchild->state == TASK_STOPPED)
child257kernel/ptrace.cchild->state = TASK_RUNNING;
child258kernel/ptrace.cchild->signal = 0;
child261kernel/ptrace.cif (!(child->flags & PF_PTRACED))
child263kernel/ptrace.cif (child->state != TASK_STOPPED && request != PTRACE_DETACH)
child265kernel/ptrace.cif (child->p_pptr != current)
child274kernel/ptrace.cres = read_long(child, addr, &tmp);
child292kernel/ptrace.ctmp = get_stack_long(child, 4*addr - MAGICNUMBER);
child300kernel/ptrace.creturn write_long(child,addr,data);
child310kernel/ptrace.cdata |= get_stack_long(child, EFL*4-MAGICNUMBER)  & ~FLAG_MASK;
child312kernel/ptrace.cif (put_stack_long(child, 4*addr-MAGICNUMBER, data))
child321kernel/ptrace.cchild->flags |= PF_TRACESYS;
child323kernel/ptrace.cchild->flags &= ~PF_TRACESYS;
child324kernel/ptrace.cchild->signal = 0;
child326kernel/ptrace.cchild->signal = 1<<(data-1);
child327kernel/ptrace.cchild->state = TASK_RUNNING;
child329kernel/ptrace.ctmp = get_stack_long(child, 4*EFL-MAGICNUMBER) & ~TRAP_FLAG;
child330kernel/ptrace.cput_stack_long(child, 4*EFL-MAGICNUMBER,tmp);
child342kernel/ptrace.cchild->state = TASK_RUNNING;
child343kernel/ptrace.cchild->signal = 1 << (SIGKILL-1);
child345kernel/ptrace.ctmp = get_stack_long(child, 4*EFL-MAGICNUMBER) & ~TRAP_FLAG;
child346kernel/ptrace.cput_stack_long(child, 4*EFL-MAGICNUMBER,tmp);
child353kernel/ptrace.cchild->flags &= ~PF_TRACESYS;
child354kernel/ptrace.ctmp = get_stack_long(child, 4*EFL-MAGICNUMBER) | TRAP_FLAG;
child355kernel/ptrace.cput_stack_long(child, 4*EFL-MAGICNUMBER,tmp);
child356kernel/ptrace.cchild->state = TASK_RUNNING;
child357kernel/ptrace.cchild->signal = 0;
child359kernel/ptrace.cchild->signal= 1<<(data-1);
child367kernel/ptrace.cchild->flags &= ~(PF_PTRACED|PF_TRACESYS);
child368kernel/ptrace.cchild->signal=0;
child369kernel/ptrace.cchild->state = 0;
child370kernel/ptrace.cREMOVE_LINKS(child);
child371kernel/ptrace.cchild->p_pptr = child->p_opptr;
child372kernel/ptrace.cSET_LINKS(child);
child374kernel/ptrace.ctmp = get_stack_long(child, 4*EFL-MAGICNUMBER) & ~TRAP_FLAG;
child375kernel/ptrace.cput_stack_long(child, 4*EFL-MAGICNUMBER,tmp);