]> err.no Git - linux-2.6/commitdiff
[S390] Remove self ptrace IEEE_IP hack.
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 30 Apr 2008 11:38:48 +0000 (13:38 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 30 Apr 2008 11:38:48 +0000 (13:38 +0200)
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>
arch/s390/kernel/ptrace.c

index 58a064296987bd6b85fbbe04d370863c0c3ea24d..9dbaef44e8ec349c2aa29ef4dba9f8b199af0852 100644 (file)
@@ -607,8 +607,6 @@ do_ptrace_emu31(struct task_struct *child, long request, long addr, long data)
 }
 #endif
 
-#define PT32_IEEE_IP 0x13c
-
 static int
 do_ptrace(struct task_struct *child, long request, long addr, long data)
 {
@@ -617,24 +615,6 @@ do_ptrace(struct task_struct *child, long request, long addr, long data)
        if (request == PTRACE_ATTACH)
                return ptrace_attach(child);
 
-       /*
-        * Special cases to get/store the ieee instructions pointer.
-        */
-       if (child == current) {
-               if (request == PTRACE_PEEKUSR && addr == PT_IEEE_IP)
-                       return peek_user(child, addr, data);
-               if (request == PTRACE_POKEUSR && addr == PT_IEEE_IP)
-                       return poke_user(child, addr, data);
-#ifdef CONFIG_COMPAT
-               if (request == PTRACE_PEEKUSR &&
-                   addr == PT32_IEEE_IP && test_thread_flag(TIF_31BIT))
-                       return peek_user_emu31(child, addr, data);
-               if (request == PTRACE_POKEUSR &&
-                   addr == PT32_IEEE_IP && test_thread_flag(TIF_31BIT))
-                       return poke_user_emu31(child, addr, data);
-#endif
-       }
-
        ret = ptrace_check_attach(child, request == PTRACE_KILL);
        if (ret < 0)
                return ret;