Remove uses of _fpstate_ia32 from the kernel, and move the legacy
_fpstate_ia32 definition to the user-space only portion of the
header.

Cc: Andy Lutomirski <l...@amacapital.net>
Cc: Borislav Petkov <b...@alien8.de>
Cc: Brian Gerst <brge...@gmail.com>
Cc: Denys Vlasenko <dvlas...@redhat.com>
Cc: H. Peter Anvin <h...@zytor.com>
Cc: Linus Torvalds <torva...@linux-foundation.org>
Cc: Mikko Rapeli <mikko.rap...@iki.fi>
Cc: Peter Zijlstra <pet...@infradead.org>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mi...@kernel.org>
---
 arch/x86/ia32/ia32_signal.c              | 2 +-
 arch/x86/include/asm/sigframe.h          | 2 +-
 arch/x86/include/uapi/asm/sigcontext.h   | 5 +++--
 arch/x86/include/uapi/asm/sigcontext32.h | 2 +-
 arch/x86/kernel/fpu/signal.c             | 4 ++--
 5 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/arch/x86/ia32/ia32_signal.c b/arch/x86/ia32/ia32_signal.c
index ae3a29ae875b..805d76b21d95 100644
--- a/arch/x86/ia32/ia32_signal.c
+++ b/arch/x86/ia32/ia32_signal.c
@@ -327,7 +327,7 @@ static void __user *get_sigframe(struct ksignal *ksig, 
struct pt_regs *regs,
                unsigned long fx_aligned, math_size;
 
                sp = fpu__alloc_mathframe(sp, 1, &fx_aligned, &math_size);
-               *fpstate = (struct _fpstate_ia32 __user *) sp;
+               *fpstate = (struct _fpstate_32 __user *) sp;
                if (copy_fpstate_to_sigframe(*fpstate, (void __user 
*)fx_aligned,
                                    math_size) < 0)
                        return (void __user *) -1L;
diff --git a/arch/x86/include/asm/sigframe.h b/arch/x86/include/asm/sigframe.h
index 67d3027520ee..38ade7255a21 100644
--- a/arch/x86/include/asm/sigframe.h
+++ b/arch/x86/include/asm/sigframe.h
@@ -31,7 +31,7 @@ struct sigframe_ia32 {
         * the offset of extramask[] in the sigframe and thus prevent any
         * legacy application accessing/modifying it.
         */
-       struct _fpstate_ia32 fpstate_unused;
+       struct _fpstate_32 fpstate_unused;
 #ifdef CONFIG_IA32_EMULATION
        unsigned int extramask[_COMPAT_NSIG_WORDS-1];
 #else /* !CONFIG_IA32_EMULATION */
diff --git a/arch/x86/include/uapi/asm/sigcontext.h 
b/arch/x86/include/uapi/asm/sigcontext.h
index 85811167821f..ca542e37c783 100644
--- a/arch/x86/include/uapi/asm/sigcontext.h
+++ b/arch/x86/include/uapi/asm/sigcontext.h
@@ -165,8 +165,6 @@ struct _fpstate_64 {
 # define _fpstate _fpstate_64
 #endif
 
-#define _fpstate_ia32 _fpstate_32
-
 struct _header {
        __u64                           xfeatures;
        __u64                           reserved1[2];
@@ -198,6 +196,9 @@ struct _xstate {
  * field names but otherwise the same layout.
  */
 #ifndef __KERNEL__
+
+#define _fpstate_ia32 _fpstate_32
+
 # ifdef __i386__
 struct sigcontext {
        __u16                           gs, __gsh;
diff --git a/arch/x86/include/uapi/asm/sigcontext32.h 
b/arch/x86/include/uapi/asm/sigcontext32.h
index 19a89165ea1d..06c749b40263 100644
--- a/arch/x86/include/uapi/asm/sigcontext32.h
+++ b/arch/x86/include/uapi/asm/sigcontext32.h
@@ -26,7 +26,7 @@ struct sigcontext_ia32 {
        __u32                           flags;
        __u32                           sp_at_signal;
        __u16                           ss, __ssh;
-       __u32                           fpstate;        /* Pointer to 'struct 
_fpstate_ia32' */
+       __u32                           fpstate;        /* Pointer to 'struct 
_fpstate_32' */
        __u32                           oldmask;
        __u32                           cr2;
 };
diff --git a/arch/x86/kernel/fpu/signal.c b/arch/x86/kernel/fpu/signal.c
index 50ec9af1bd51..24aac16603a2 100644
--- a/arch/x86/kernel/fpu/signal.c
+++ b/arch/x86/kernel/fpu/signal.c
@@ -56,7 +56,7 @@ static inline int save_fsave_header(struct task_struct *tsk, 
void __user *buf)
        if (use_fxsr()) {
                struct xregs_state *xsave = &tsk->thread.fpu.state.xsave;
                struct user_i387_ia32_struct env;
-               struct _fpstate_ia32 __user *fp = buf;
+               struct _fpstate_32 __user *fp = buf;
 
                convert_from_fxsr(&env, tsk);
 
@@ -165,7 +165,7 @@ int copy_fpstate_to_sigframe(void __user *buf, void __user 
*buf_fx, int size)
        if (!static_cpu_has(X86_FEATURE_FPU))
                return fpregs_soft_get(current, NULL, 0,
                        sizeof(struct user_i387_ia32_struct), NULL,
-                       (struct _fpstate_ia32 __user *) buf) ? -1 : 1;
+                       (struct _fpstate_32 __user *) buf) ? -1 : 1;
 
        if (fpregs_active()) {
                /* Save the live register state to the user directly. */
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to