[tip:x86/headers] x86/headers: Clean up the kernel' s struct sigcontext types to be ABI-clean

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Commit-ID:  2d057c69e743bfb88f1259ddbf1b1160bdd850e5
Gitweb:     http://git.kernel.org/tip/2d057c69e743bfb88f1259ddbf1b1160bdd850e5
Author:     Ingo Molnar <mingo@xxxxxxxxxx>
AuthorDate: Sat, 5 Sep 2015 09:32:37 +0200
Committer:  Ingo Molnar <mingo@xxxxxxxxxx>
CommitDate: Tue, 8 Sep 2015 10:03:57 +0200

x86/headers: Clean up the kernel's struct sigcontext types to be ABI-clean

Use the __u16/32/64 types we standardized on in ABI definitions
and which other sigcontext related types are already using.

This will help unify struct sigcontext types between native
32-bit, compat and 64-bit kernels.

Acked-by: Mikko Rapeli <mikko.rapeli@xxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Link: http://lkml.kernel.org/r/1441438363-9999-10-git-send-email-mingo@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
 arch/x86/include/asm/sigcontext.h | 104 +++++++++++++++++++-------------------
 1 file changed, 52 insertions(+), 52 deletions(-)

diff --git a/arch/x86/include/asm/sigcontext.h b/arch/x86/include/asm/sigcontext.h
index 9dfce4e..b9c2bd6 100644
--- a/arch/x86/include/asm/sigcontext.h
+++ b/arch/x86/include/asm/sigcontext.h
@@ -5,25 +5,25 @@
 
 #ifdef __i386__
 struct sigcontext {
-	unsigned short gs, __gsh;
-	unsigned short fs, __fsh;
-	unsigned short es, __esh;
-	unsigned short ds, __dsh;
-	unsigned long di;
-	unsigned long si;
-	unsigned long bp;
-	unsigned long sp;
-	unsigned long bx;
-	unsigned long dx;
-	unsigned long cx;
-	unsigned long ax;
-	unsigned long trapno;
-	unsigned long err;
-	unsigned long ip;
-	unsigned short cs, __csh;
-	unsigned long flags;
-	unsigned long sp_at_signal;
-	unsigned short ss, __ssh;
+	__u16				 gs, __gsh;
+	__u16				 fs, __fsh;
+	__u16				 es, __esh;
+	__u16				 ds, __dsh;
+	__u32				 di;
+	__u32				 si;
+	__u32				 bp;
+	__u32				 sp;
+	__u32				 bx;
+	__u32				 dx;
+	__u32				 cx;
+	__u32				 ax;
+	__u32				 trapno;
+	__u32				 err;
+	__u32				 ip;
+	__u16				 cs, __csh;
+	__u32				 flags;
+	__u32				 sp_at_signal;
+	__u16				 ss, __ssh;
 
 	/*
 	 * fpstate is really (struct _fpstate *) or (struct _xstate *)
@@ -32,38 +32,38 @@ struct sigcontext {
 	 * of extended memory layout. See comments at the definition of
 	 * (struct _fpx_sw_bytes)
 	 */
-	void __user *fpstate;		/* zero when no FPU/extended context */
-	unsigned long oldmask;
-	unsigned long cr2;
+	void __user			*fpstate; /* Zero when no FPU/extended context */
+	__u32				 oldmask;
+	__u32				 cr2;
 };
-#else /* __i386__ */
+#else /* __x86_64__: */
 struct sigcontext {
-	unsigned long r8;
-	unsigned long r9;
-	unsigned long r10;
-	unsigned long r11;
-	unsigned long r12;
-	unsigned long r13;
-	unsigned long r14;
-	unsigned long r15;
-	unsigned long di;
-	unsigned long si;
-	unsigned long bp;
-	unsigned long bx;
-	unsigned long dx;
-	unsigned long ax;
-	unsigned long cx;
-	unsigned long sp;
-	unsigned long ip;
-	unsigned long flags;
-	unsigned short cs;
-	unsigned short gs;
-	unsigned short fs;
-	unsigned short __pad0;
-	unsigned long err;
-	unsigned long trapno;
-	unsigned long oldmask;
-	unsigned long cr2;
+	__u64				 r8;
+	__u64				 r9;
+	__u64				 r10;
+	__u64				 r11;
+	__u64				 r12;
+	__u64				 r13;
+	__u64				 r14;
+	__u64				 r15;
+	__u64				 di;
+	__u64				 si;
+	__u64				 bp;
+	__u64				 bx;
+	__u64				 dx;
+	__u64				 ax;
+	__u64				 cx;
+	__u64				 sp;
+	__u64				 ip;
+	__u64				 flags;
+	__u16				 cs;
+	__u16				 gs;
+	__u16				 fs;
+	__u16				 __pad0;
+	__u64				 err;
+	__u64				 trapno;
+	__u64				 oldmask;
+	__u64				 cr2;
 
 	/*
 	 * fpstate is really (struct _fpstate *) or (struct _xstate *)
@@ -72,8 +72,8 @@ struct sigcontext {
 	 * of extended memory layout. See comments at the definition of
 	 * (struct _fpx_sw_bytes)
 	 */
-	void __user *fpstate;		/* zero when no FPU/extended context */
-	unsigned long reserved1[8];
+	void __user			*fpstate; /* Zero when no FPU/extended context */
+	__u64				 reserved1[8];
 };
-#endif /* !__i386__ */
+#endif /* !__x86_64__ */
 #endif /* _ASM_X86_SIGCONTEXT_H */
--
To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Stable Commits]     [Linux Stable Kernel]     [Linux Kernel]     [Linux USB Devel]     [Linux Video &Media]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux