Bläddra i källkod

x86/headers: Convert uses of _fpstate_ia32 to _fpstate_32

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

Acked-by: Mikko Rapeli <mikko.rapeli@iki.fi>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Link: http://lkml.kernel.org/r/1441438363-9999-9-git-send-email-mingo@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Ingo Molnar 10 år sedan
förälder
incheckning
86e9fc3a0e

+ 1 - 1
arch/x86/ia32/ia32_signal.c

@@ -234,7 +234,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;

+ 1 - 1
arch/x86/include/asm/sigframe.h

@@ -32,7 +32,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 */

+ 3 - 2
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;

+ 1 - 1
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;
 };

+ 2 - 2
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. */