Commit 55436c91652b45be576b91ec96a8d65f6b7447fa
Committed by
Linus Torvalds
1 parent
fa1ac57a31
Exists in
master
and in
7 other branches
mips: use generic ptrace_resume code
Use the generic ptrace_resume code for PTRACE_SYSCALL, PTRACE_CONT and PTRACE_KILL. Also the TIF_SYSCALL_TRACE thread flag is now cleared on PTRACE_KILL which it previously wasn't which is consistent with all architectures using the modern ptrace code. Signed-off-by: Christoph Hellwig <hch@lst.de> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Roland McGrath <roland@redhat.com> Acked-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 1 changed file with 0 additions and 30 deletions Side-by-side Diff
arch/mips/kernel/ptrace.c
... | ... | @@ -493,36 +493,6 @@ |
493 | 493 | ret = ptrace_setfpregs(child, (__u32 __user *) data); |
494 | 494 | break; |
495 | 495 | |
496 | - case PTRACE_SYSCALL: /* continue and stop at next (return from) syscall */ | |
497 | - case PTRACE_CONT: { /* restart after signal. */ | |
498 | - ret = -EIO; | |
499 | - if (!valid_signal(data)) | |
500 | - break; | |
501 | - if (request == PTRACE_SYSCALL) { | |
502 | - set_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | |
503 | - } | |
504 | - else { | |
505 | - clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | |
506 | - } | |
507 | - child->exit_code = data; | |
508 | - wake_up_process(child); | |
509 | - ret = 0; | |
510 | - break; | |
511 | - } | |
512 | - | |
513 | - /* | |
514 | - * make the child exit. Best I can do is send it a sigkill. | |
515 | - * perhaps it should be put in the status that it wants to | |
516 | - * exit. | |
517 | - */ | |
518 | - case PTRACE_KILL: | |
519 | - ret = 0; | |
520 | - if (child->exit_state == EXIT_ZOMBIE) /* already dead */ | |
521 | - break; | |
522 | - child->exit_code = SIGKILL; | |
523 | - wake_up_process(child); | |
524 | - break; | |
525 | - | |
526 | 496 | case PTRACE_GET_THREAD_AREA: |
527 | 497 | ret = put_user(task_thread_info(child)->tp_value, |
528 | 498 | (unsigned long __user *) data); |