diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2010-10-25 10:10:41 -0400 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-10-25 10:10:20 -0400 |
commit | ba6cadfebc18f786ef4e60e9ff03f9656ce3d584 (patch) | |
tree | 9e606198947762e077035676ee6f1099bb8fa7d1 | |
parent | baa071588c3ffcc1a8721faf9337140e85d34bf6 (diff) |
[S390] remove ieee_instruction_pointer from thread_struct
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>
-rw-r--r-- | arch/s390/include/asm/processor.h | 2 | ||||
-rw-r--r-- | arch/s390/include/asm/ptrace.h | 3 | ||||
-rw-r--r-- | arch/s390/kernel/compat_ptrace.h | 3 | ||||
-rw-r--r-- | arch/s390/kernel/traps.c | 1 |
4 files changed, 2 insertions, 7 deletions
diff --git a/arch/s390/include/asm/processor.h b/arch/s390/include/asm/processor.h index 73e259834e10..8d6f87169577 100644 --- a/arch/s390/include/asm/processor.h +++ b/arch/s390/include/asm/processor.h | |||
@@ -82,8 +82,6 @@ struct thread_struct { | |||
82 | unsigned long prot_addr; /* address of protection-excep. */ | 82 | unsigned long prot_addr; /* address of protection-excep. */ |
83 | unsigned int trap_no; | 83 | unsigned int trap_no; |
84 | per_struct per_info; | 84 | per_struct per_info; |
85 | /* Used to give failing instruction back to user for ieee exceptions */ | ||
86 | unsigned long ieee_instruction_pointer; | ||
87 | /* pfault_wait is used to block the process on a pfault event */ | 85 | /* pfault_wait is used to block the process on a pfault event */ |
88 | unsigned long pfault_wait; | 86 | unsigned long pfault_wait; |
89 | }; | 87 | }; |
diff --git a/arch/s390/include/asm/ptrace.h b/arch/s390/include/asm/ptrace.h index e2c218dc68a6..d9d42b1e46fa 100644 --- a/arch/s390/include/asm/ptrace.h +++ b/arch/s390/include/asm/ptrace.h | |||
@@ -481,8 +481,7 @@ struct user_regs_struct | |||
481 | * watchpoints. This is the way intel does it. | 481 | * watchpoints. This is the way intel does it. |
482 | */ | 482 | */ |
483 | per_struct per_info; | 483 | per_struct per_info; |
484 | unsigned long ieee_instruction_pointer; | 484 | unsigned long ieee_instruction_pointer; /* obsolete, always 0 */ |
485 | /* Used to give failing instruction back to user for ieee exceptions */ | ||
486 | }; | 485 | }; |
487 | 486 | ||
488 | #ifdef __KERNEL__ | 487 | #ifdef __KERNEL__ |
diff --git a/arch/s390/kernel/compat_ptrace.h b/arch/s390/kernel/compat_ptrace.h index 123dd660d7fb..3141025724f4 100644 --- a/arch/s390/kernel/compat_ptrace.h +++ b/arch/s390/kernel/compat_ptrace.h | |||
@@ -51,8 +51,7 @@ struct user_regs_struct32 | |||
51 | * watchpoints. This is the way intel does it. | 51 | * watchpoints. This is the way intel does it. |
52 | */ | 52 | */ |
53 | per_struct32 per_info; | 53 | per_struct32 per_info; |
54 | u32 ieee_instruction_pointer; | 54 | u32 ieee_instruction_pointer; /* obsolete, always 0 */ |
55 | /* Used to give failing instruction back to user for ieee exceptions */ | ||
56 | }; | 55 | }; |
57 | 56 | ||
58 | struct user32 { | 57 | struct user32 { |
diff --git a/arch/s390/kernel/traps.c b/arch/s390/kernel/traps.c index e9b063e7d75f..70640822621a 100644 --- a/arch/s390/kernel/traps.c +++ b/arch/s390/kernel/traps.c | |||
@@ -447,7 +447,6 @@ static inline void do_fp_trap(struct pt_regs *regs, void __user *location, | |||
447 | else if (fpc & 0x0800) /* inexact */ | 447 | else if (fpc & 0x0800) /* inexact */ |
448 | si.si_code = FPE_FLTRES; | 448 | si.si_code = FPE_FLTRES; |
449 | } | 449 | } |
450 | current->thread.ieee_instruction_pointer = (addr_t) location; | ||
451 | do_trap(pgm_int_code, SIGFPE, | 450 | do_trap(pgm_int_code, SIGFPE, |
452 | "floating point exception", regs, &si); | 451 | "floating point exception", regs, &si); |
453 | } | 452 | } |