tag | line | file | source code |
child | 222 | kernel/ptrace.c | struct task_struct *child; |
child | 232 | kernel/ptrace.c | if (!(child = get_task(pid))) |
child | 237 | kernel/ptrace.c | if (child == current) |
child | 239 | kernel/ptrace.c | if ((!child->dumpable || (current->uid != child->euid) || |
child | 240 | kernel/ptrace.c | (current->gid != child->egid)) && !suser()) |
child | 243 | kernel/ptrace.c | if (child->flags & PF_PTRACED) |
child | 245 | kernel/ptrace.c | child->flags |= PF_PTRACED; |
child | 246 | kernel/ptrace.c | if (child->p_pptr != current) { |
child | 247 | kernel/ptrace.c | REMOVE_LINKS(child); |
child | 248 | kernel/ptrace.c | child->p_pptr = current; |
child | 249 | kernel/ptrace.c | SET_LINKS(child); |
child | 251 | kernel/ptrace.c | tmp = get_stack_long(child, 4*EFL-MAGICNUMBER) | TRAP_FLAG; |
child | 252 | kernel/ptrace.c | put_stack_long(child, 4*EFL-MAGICNUMBER,tmp); |
child | 253 | kernel/ptrace.c | if (child->state == TASK_INTERRUPTIBLE || |
child | 254 | kernel/ptrace.c | child->state == TASK_STOPPED) |
child | 255 | kernel/ptrace.c | child->state = TASK_RUNNING; |
child | 256 | kernel/ptrace.c | child->signal = 0; |
child | 259 | kernel/ptrace.c | if (!(child->flags & PF_PTRACED) || child->state != TASK_STOPPED) |
child | 261 | kernel/ptrace.c | if (child->p_pptr != current) |
child | 270 | kernel/ptrace.c | res = read_long(child, addr, &tmp); |
child | 285 | kernel/ptrace.c | tmp = get_stack_long(child, 4*addr - MAGICNUMBER); |
child | 293 | kernel/ptrace.c | return write_long(child,addr,data); |
child | 303 | kernel/ptrace.c | data |= get_stack_long(child, EFL*4-MAGICNUMBER) & ~FLAG_MASK; |
child | 305 | kernel/ptrace.c | if (put_stack_long(child, 4*addr-MAGICNUMBER, data)) |
child | 312 | kernel/ptrace.c | child->signal = 0; |
child | 314 | kernel/ptrace.c | child->signal = 1<<(data-1); |
child | 315 | kernel/ptrace.c | child->state = TASK_RUNNING; |
child | 317 | kernel/ptrace.c | tmp = get_stack_long(child, 4*EFL-MAGICNUMBER) & ~TRAP_FLAG; |
child | 318 | kernel/ptrace.c | put_stack_long(child, 4*EFL-MAGICNUMBER,tmp); |
child | 330 | kernel/ptrace.c | child->state = TASK_RUNNING; |
child | 331 | kernel/ptrace.c | child->signal = 1 << (SIGKILL-1); |
child | 333 | kernel/ptrace.c | tmp = get_stack_long(child, 4*EFL-MAGICNUMBER) & ~TRAP_FLAG; |
child | 334 | kernel/ptrace.c | put_stack_long(child, 4*EFL-MAGICNUMBER,tmp); |
child | 341 | kernel/ptrace.c | tmp = get_stack_long(child, 4*EFL-MAGICNUMBER) | TRAP_FLAG; |
child | 342 | kernel/ptrace.c | put_stack_long(child, 4*EFL-MAGICNUMBER,tmp); |
child | 343 | kernel/ptrace.c | child->state = TASK_RUNNING; |
child | 344 | kernel/ptrace.c | child->signal = 0; |
child | 346 | kernel/ptrace.c | child->signal= 1<<(data-1); |
child | 354 | kernel/ptrace.c | child->flags &= ~PF_PTRACED; |
child | 355 | kernel/ptrace.c | child->signal=0; |
child | 356 | kernel/ptrace.c | child->state = 0; |
child | 357 | kernel/ptrace.c | REMOVE_LINKS(child); |
child | 358 | kernel/ptrace.c | child->p_pptr = child->p_opptr; |
child | 359 | kernel/ptrace.c | SET_LINKS(child); |
child | 361 | kernel/ptrace.c | tmp = get_stack_long(child, 4*EFL-MAGICNUMBER) & ~TRAP_FLAG; |
child | 362 | kernel/ptrace.c | put_stack_long(child, 4*EFL-MAGICNUMBER,tmp); |