diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2008-04-30 07:38:48 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2008-04-30 07:38:48 -0400 |
commit | 613e1def6b52c399a8b72a5e11bc2e57d2546fb8 (patch) | |
tree | 2c9c1d607e85cad81422a671d350da8d027a5753 /arch/s390/kernel/ptrace.c | |
parent | 17f345808563d2f425b2b15d60c4a5b00112e9eb (diff) |
[S390] Remove self ptrace IEEE_IP hack.
The self referential PT_IEEE_IP ptrace peek & poke calls have been
broken for that last 6 years. For peek the code always returns 0
instead of the last ieee fault and for poke the code does nothing.
Since nobody noticed the code seems to be superfluous. So lets
remove it.
Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/ptrace.c')
-rw-r--r-- | arch/s390/kernel/ptrace.c | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c index 58a064296987..9dbaef44e8ec 100644 --- a/arch/s390/kernel/ptrace.c +++ b/arch/s390/kernel/ptrace.c | |||
@@ -607,8 +607,6 @@ do_ptrace_emu31(struct task_struct *child, long request, long addr, long data) | |||
607 | } | 607 | } |
608 | #endif | 608 | #endif |
609 | 609 | ||
610 | #define PT32_IEEE_IP 0x13c | ||
611 | |||
612 | static int | 610 | static int |
613 | do_ptrace(struct task_struct *child, long request, long addr, long data) | 611 | do_ptrace(struct task_struct *child, long request, long addr, long data) |
614 | { | 612 | { |
@@ -617,24 +615,6 @@ do_ptrace(struct task_struct *child, long request, long addr, long data) | |||
617 | if (request == PTRACE_ATTACH) | 615 | if (request == PTRACE_ATTACH) |
618 | return ptrace_attach(child); | 616 | return ptrace_attach(child); |
619 | 617 | ||
620 | /* | ||
621 | * Special cases to get/store the ieee instructions pointer. | ||
622 | */ | ||
623 | if (child == current) { | ||
624 | if (request == PTRACE_PEEKUSR && addr == PT_IEEE_IP) | ||
625 | return peek_user(child, addr, data); | ||
626 | if (request == PTRACE_POKEUSR && addr == PT_IEEE_IP) | ||
627 | return poke_user(child, addr, data); | ||
628 | #ifdef CONFIG_COMPAT | ||
629 | if (request == PTRACE_PEEKUSR && | ||
630 | addr == PT32_IEEE_IP && test_thread_flag(TIF_31BIT)) | ||
631 | return peek_user_emu31(child, addr, data); | ||
632 | if (request == PTRACE_POKEUSR && | ||
633 | addr == PT32_IEEE_IP && test_thread_flag(TIF_31BIT)) | ||
634 | return poke_user_emu31(child, addr, data); | ||
635 | #endif | ||
636 | } | ||
637 | |||
638 | ret = ptrace_check_attach(child, request == PTRACE_KILL); | 618 | ret = ptrace_check_attach(child, request == PTRACE_KILL); |
639 | if (ret < 0) | 619 | if (ret < 0) |
640 | return ret; | 620 | return ret; |