aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/ptrace.c
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2008-04-30 07:38:48 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2008-04-30 07:38:48 -0400
commit613e1def6b52c399a8b72a5e11bc2e57d2546fb8 (patch)
tree2c9c1d607e85cad81422a671d350da8d027a5753 /arch/s390/kernel/ptrace.c
parent17f345808563d2f425b2b15d60c4a5b00112e9eb (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.c20
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
612static int 610static int
613do_ptrace(struct task_struct *child, long request, long addr, long data) 611do_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;