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))
child314kernel/ptrace.cchild->flags |= PF_TRACESYS;
child316kernel/ptrace.cchild->flags &= ~PF_TRACESYS;
child317kernel/ptrace.cchild->signal = 0;
child319kernel/ptrace.cchild->signal = 1<<(data-1);
child320kernel/ptrace.cchild->state = TASK_RUNNING;
child322kernel/ptrace.ctmp = get_stack_long(child, 4*EFL-MAGICNUMBER) & ~TRAP_FLAG;
child323kernel/ptrace.cput_stack_long(child, 4*EFL-MAGICNUMBER,tmp);
child335kernel/ptrace.cchild->state = TASK_RUNNING;
child336kernel/ptrace.cchild->signal = 1 << (SIGKILL-1);
child338kernel/ptrace.ctmp = get_stack_long(child, 4*EFL-MAGICNUMBER) & ~TRAP_FLAG;
child339kernel/ptrace.cput_stack_long(child, 4*EFL-MAGICNUMBER,tmp);
child346kernel/ptrace.cchild->flags &= ~PF_TRACESYS;
child347kernel/ptrace.ctmp = get_stack_long(child, 4*EFL-MAGICNUMBER) | TRAP_FLAG;
child348kernel/ptrace.cput_stack_long(child, 4*EFL-MAGICNUMBER,tmp);
child349kernel/ptrace.cchild->state = TASK_RUNNING;
child350kernel/ptrace.cchild->signal = 0;
child352kernel/ptrace.cchild->signal= 1<<(data-1);
child360kernel/ptrace.cchild->flags &= ~(PF_PTRACED|PF_TRACESYS);
child361kernel/ptrace.cchild->signal=0;
child362kernel/ptrace.cchild->state = 0;
child363kernel/ptrace.cREMOVE_LINKS(child);
child364kernel/ptrace.cchild->p_pptr = child->p_opptr;
child365kernel/ptrace.cSET_LINKS(child);
child367kernel/ptrace.ctmp = get_stack_long(child, 4*EFL-MAGICNUMBER) & ~TRAP_FLAG;
child368kernel/ptrace.cput_stack_long(child, 4*EFL-MAGICNUMBER,tmp);