taglinefilesource code
child222kernel/ptrace.cstruct task_struct *child;
child232kernel/ptrace.cif (!(child = get_task(pid)))
child237kernel/ptrace.cif (child == current)
child239kernel/ptrace.cif ((!child->dumpable || (current->uid != child->euid) ||
child240kernel/ptrace.c(current->gid != child->egid)) && !suser())
child243kernel/ptrace.cif (child->flags & PF_PTRACED)
child245kernel/ptrace.cchild->flags |= PF_PTRACED;
child246kernel/ptrace.cif (child->p_pptr != current) {
child247kernel/ptrace.cREMOVE_LINKS(child);
child248kernel/ptrace.cchild->p_pptr = current;
child249kernel/ptrace.cSET_LINKS(child);
child251kernel/ptrace.ctmp = get_stack_long(child, 4*EFL-MAGICNUMBER) | TRAP_FLAG;
child252kernel/ptrace.cput_stack_long(child, 4*EFL-MAGICNUMBER,tmp);
child253kernel/ptrace.cif (child->state == TASK_INTERRUPTIBLE ||
child254kernel/ptrace.cchild->state == TASK_STOPPED)
child255kernel/ptrace.cchild->state = TASK_RUNNING;
child256kernel/ptrace.cchild->signal = 0;
child259kernel/ptrace.cif (!(child->flags & PF_PTRACED) || child->state != TASK_STOPPED)
child261kernel/ptrace.cif (child->p_pptr != current)
child270kernel/ptrace.cres = read_long(child, addr, &tmp);
child285kernel/ptrace.ctmp = get_stack_long(child, 4*addr - MAGICNUMBER);
child293kernel/ptrace.creturn write_long(child,addr,data);
child303kernel/ptrace.cdata |= get_stack_long(child, EFL*4-MAGICNUMBER)  & ~FLAG_MASK;
child305kernel/ptrace.cif (put_stack_long(child, 4*addr-MAGICNUMBER, data))
child312kernel/ptrace.cchild->signal = 0;
child314kernel/ptrace.cchild->signal = 1<<(data-1);
child315kernel/ptrace.cchild->state = TASK_RUNNING;
child317kernel/ptrace.ctmp = get_stack_long(child, 4*EFL-MAGICNUMBER) & ~TRAP_FLAG;
child318kernel/ptrace.cput_stack_long(child, 4*EFL-MAGICNUMBER,tmp);
child330kernel/ptrace.cchild->state = TASK_RUNNING;
child331kernel/ptrace.cchild->signal = 1 << (SIGKILL-1);
child333kernel/ptrace.ctmp = get_stack_long(child, 4*EFL-MAGICNUMBER) & ~TRAP_FLAG;
child334kernel/ptrace.cput_stack_long(child, 4*EFL-MAGICNUMBER,tmp);
child341kernel/ptrace.ctmp = get_stack_long(child, 4*EFL-MAGICNUMBER) | TRAP_FLAG;
child342kernel/ptrace.cput_stack_long(child, 4*EFL-MAGICNUMBER,tmp);
child343kernel/ptrace.cchild->state = TASK_RUNNING;
child344kernel/ptrace.cchild->signal = 0;
child346kernel/ptrace.cchild->signal= 1<<(data-1);
child354kernel/ptrace.cchild->flags &= ~PF_PTRACED;
child355kernel/ptrace.cchild->signal=0;
child356kernel/ptrace.cchild->state = 0;
child357kernel/ptrace.cREMOVE_LINKS(child);
child358kernel/ptrace.cchild->p_pptr = child->p_opptr;
child359kernel/ptrace.cSET_LINKS(child);
child361kernel/ptrace.ctmp = get_stack_long(child, 4*EFL-MAGICNUMBER) & ~TRAP_FLAG;
child362kernel/ptrace.cput_stack_long(child, 4*EFL-MAGICNUMBER,tmp);