[S390] remove ieee_instruction_pointer from thread_struct
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 25 Oct 2010 14:10:41 +0000 (16:10 +0200)
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>
Mon, 25 Oct 2010 14:10:20 +0000 (16:10 +0200)
The ieee_instruction_pointer can not be read from user space anymore
since git commit 613e1def6b52c399a8b72a5e11bc2e57d2546fb8, the ptrace
interface always returns zero. Remove it from the thread_struct. It
is still present in the user_regs_struct for compatability reasons.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/processor.h
arch/s390/include/asm/ptrace.h
arch/s390/kernel/compat_ptrace.h
arch/s390/kernel/traps.c

index 73e259834e10d9bc3ecc5cced06860f6b3dd0b86..8d6f871695776ccbe0e483c6d12c9a3d0a656a48 100644 (file)
@@ -82,8 +82,6 @@ struct thread_struct {
         unsigned long prot_addr;        /* address of protection-excep.     */
         unsigned int trap_no;
         per_struct per_info;
-       /* Used to give failing instruction back to user for ieee exceptions */
-       unsigned long ieee_instruction_pointer; 
         /* pfault_wait is used to block the process on a pfault event */
        unsigned long pfault_wait;
 };
index e2c218dc68a6f91624acc5df7c2ddfb256d4b0fc..d9d42b1e46faedbd688aef69060fd847bcdc08a9 100644 (file)
@@ -481,8 +481,7 @@ struct user_regs_struct
         * watchpoints. This is the way intel does it.
         */
        per_struct per_info;
-       unsigned long ieee_instruction_pointer; 
-       /* Used to give failing instruction back to user for ieee exceptions */
+       unsigned long ieee_instruction_pointer; /* obsolete, always 0 */
 };
 
 #ifdef __KERNEL__
index 123dd660d7fbed3793ed34a6dee6add2bc25c05a..3141025724f418e51d4420cc07aa340efb89d6e9 100644 (file)
@@ -51,8 +51,7 @@ struct user_regs_struct32
         * watchpoints. This is the way intel does it.
         */
        per_struct32 per_info;
-       u32  ieee_instruction_pointer; 
-       /* Used to give failing instruction back to user for ieee exceptions */
+       u32  ieee_instruction_pointer;  /* obsolete, always 0 */
 };
 
 struct user32 {
index e9b063e7d75f6b03826439184a4c117e0bc14b87..70640822621a364b042af25babe7285c2a0f11f3 100644 (file)
@@ -447,7 +447,6 @@ static inline void do_fp_trap(struct pt_regs *regs, void __user *location,
                else if (fpc & 0x0800) /* inexact */
                        si.si_code = FPE_FLTRES;
        }
-       current->thread.ieee_instruction_pointer = (addr_t) location;
        do_trap(pgm_int_code, SIGFPE,
                "floating point exception", regs, &si);
 }