Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1219444 > unrolled thread

[PATCH 00/15] x86/headers: Clean up sigcontext types and headers

Started byIngo Molnar <mingo@kernel.org>
First post2015-09-05 09:40 +0200
Last post2015-09-08 16:30 +0200
Articles 9 on this page of 29 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 00/15] x86/headers: Clean up sigcontext types and headers Ingo Molnar <mingo@kernel.org> - 2015-09-05 09:40 +0200
    [PATCH 07/15] x86/headers: Unify 'struct _fpstate_ia32' and i386 struct _fpstate Ingo Molnar <mingo@kernel.org> - 2015-09-05 09:40 +0200
      [tip:x86/headers] x86/headers: Unify 'struct _fpstate_ia32'   and i386 struct _fpstate tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-09-08 16:40 +0200
    [PATCH 08/15] x86/headers: Convert uses of _fpstate_ia32 to _fpstate_32 Ingo Molnar <mingo@kernel.org> - 2015-09-05 09:40 +0200
      [tip:x86/headers] x86/headers:   Convert uses of _fpstate_ia32 to _fpstate_32 tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-09-08 16:30 +0200
    [PATCH 06/15] x86/headers: Unify register type definitions between 32-bit compat and i386 Ingo Molnar <mingo@kernel.org> - 2015-09-05 09:40 +0200
      [tip:x86/headers] x86/headers:   Unify register type definitions between 32-bit compat and i386 tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-09-08 16:30 +0200
    [PATCH 12/15] x86/headers: Unify 'struct sigcontext_ia32' and 'struct sigcontext_32' Ingo Molnar <mingo@kernel.org> - 2015-09-05 09:40 +0200
      [tip:x86/headers] x86/headers: Unify 'struct sigcontext_ia32'   and 'struct sigcontext_32' tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-09-08 16:30 +0200
    [PATCH 05/15] x86/headers: Use ABI types consistently in sigcontext*.h Ingo Molnar <mingo@kernel.org> - 2015-09-05 09:40 +0200
      [tip:x86/headers] x86/headers:   Use ABI types consistently in sigcontext*.h tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-09-08 16:30 +0200
    [PATCH 10/15] x86/headers: Move the 'struct sigcontext' definitions into the UAPI header Ingo Molnar <mingo@kernel.org> - 2015-09-05 09:40 +0200
      [tip:x86/headers] x86/headers: Move the 'struct sigcontext'   definitions into the UAPI header tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-09-08 16:30 +0200
    [PATCH 15/15] x86/headers: Remove <asm/sigcontext.h> Ingo Molnar <mingo@kernel.org> - 2015-09-05 09:40 +0200
      Re: [PATCH 15/15] x86/headers: Remove <asm/sigcontext.h> Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-09-05 13:00 +0200
        Re: [PATCH 15/15] x86/headers: Remove <asm/sigcontext.h> Ingo Molnar <mingo@kernel.org> - 2015-09-05 14:10 +0200
          Re: [PATCH 15/15] x86/headers: Remove <asm/sigcontext.h> Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-09-05 14:20 +0200
            Re: [PATCH 15/15] x86/headers: Remove <asm/sigcontext.h> Ingo Molnar <mingo@kernel.org> - 2015-09-06 08:50 +0200
              Re: [PATCH 15/15] x86/headers: Remove <asm/sigcontext.h> Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-09-06 22:30 +0200
                Re: [PATCH 15/15] x86/headers: Remove <asm/sigcontext.h> Ingo Molnar <mingo@kernel.org> - 2015-09-07 09:40 +0200
                  Re: [PATCH 15/15] x86/headers: Remove <asm/sigcontext.h> Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-09-07 10:20 +0200
      [tip:x86/headers] x86/headers: Remove <asm/sigcontext.h>   references on the kernel side tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-09-08 16:40 +0200
        Re: [tip:x86/headers] x86/headers: Remove <asm/sigcontext.h>  references on the kernel side Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-09-08 22:20 +0200
    [PATCH 04/15] x86/headers: Separate out legacy user-space structure definitions Ingo Molnar <mingo@kernel.org> - 2015-09-05 09:40 +0200
      [tip:x86/headers] x86/headers:   Separate out legacy user-space structure definitions tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-09-08 16:30 +0200
    [PATCH 01/15] x86/headers: Fix (old) header file dependency bug in uapi/asm/sigcontext32.h Ingo Molnar <mingo@kernel.org> - 2015-09-05 09:40 +0200
      [tip:x86/headers] x86/headers: Fix (old)   header file dependency bug in uapi/asm/sigcontext32.h tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-09-08 16:30 +0200
    [PATCH 09/15] x86/headers: Clean up the kernel's struct sigcontext types to be ABI-clean Ingo Molnar <mingo@kernel.org> - 2015-09-05 09:40 +0200
      [tip:x86/headers] x86/headers: Clean up the kernel'  s struct sigcontext types to be ABI-clean tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-09-08 16:30 +0200

Page 2 of 2 — ← Prev page 1 [2]


#1219978 — Re: [PATCH 15/15] x86/headers: Remove <asm/sigcontext.h>

FromMikko Rapeli <mikko.rapeli@iki.fi>
Date2015-09-07 10:20 +0200
SubjectRe: [PATCH 15/15] x86/headers: Remove <asm/sigcontext.h>
Message-ID<q5ZOF-8nj-7@gated-at.bofh.it>
In reply to#1219967
On Mon, Sep 07, 2015 at 09:37:50AM +0200, Ingo Molnar wrote:
> 
> * Mikko Rapeli <mikko.rapeli@iki.fi> wrote:
> 
> > > > +++ b/arch/x86/include/uapi/asm/sigcontext32.h
> > > > @@ -3,6 +3,6 @@
> > > >  
> > > >  /* This is a legacy file - all the type definitions are in sigcontext.h: */
> > > >  
> > > > -#include <uapi/asm/sigcontext.h>
> > > > +#include <asm/sigcontext.h>
> > > 
> > > There's no asm/sigcontext.h file anymore if you apply my patches - but we could 
> > > reintroduce it to make the copy of UAPI headers to user-space work as-is.
> > 
> > Actually there is, in user space :)
> 
> I mean in the kernel arch/x86/include/asm/sigcontext.h is gone (at least in that 
> series), we use the UAPI header directly.
> 
> > Then a nice solution would be for the kernel side wrapper to do like you
> > said (on top of your changes on master):
> > 
> > --- /dev/null
> > +++ b/arch/x86/include/asm/sigcontext.h
> > @@ -0,0 +1,6 @@
> > +#ifndef _ASM_X86_SIGCONTEXT_H
> > +#define _ASM_X86_SIGCONTEXT_H
> > +
> > +#include <uapi/asm/sigcontext.h>
> > +
> > +#endif /* _ASM_X86_SIGCONTEXT_H */
> > 
> > And I guess logically this belongs to commit "x86/headers: Remove
> > <asm/sigcontext.h>".
> 
> Yeah, will do this, plus some comments explaining that this is really just so that 
> we can keep the UAPI side compatible with a 'straight user-space copying of the 
> header files'.
> 
> This won't affect the kernel as we won't include asm/sigcontext.h directly. (And 
> even if we do, there's no harm done.)
> 
> Agreed?

Perfect. Thanks for takling this issue!

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

[toc] | [prev] | [next] | [standalone]


#1220863 — [tip:x86/headers] x86/headers: Remove <asm/sigcontext.h> references on the kernel side

Fromtip-bot for Ingo Molnar <tipbot@zytor.com>
Date2015-09-08 16:40 +0200
Subject[tip:x86/headers] x86/headers: Remove <asm/sigcontext.h> references on the kernel side
Message-ID<q6sdY-71F-27@gated-at.bofh.it>
In reply to#1219451
Commit-ID:  decb4c41159e1511197f2964da758fa7f2eeb741
Gitweb:     http://git.kernel.org/tip/decb4c41159e1511197f2964da758fa7f2eeb741
Author:     Ingo Molnar <mingo@kernel.org>
AuthorDate: Sat, 5 Sep 2015 09:32:43 +0200
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Tue, 8 Sep 2015 10:06:05 +0200

x86/headers: Remove <asm/sigcontext.h> references on the kernel side

Now that all type definitions are in the UAPI header, include it
directly, instead of through <asm/sigcontext.h>.

[ We still keep asm/sigcontext.h, so that uapi/asm/sigcontext32.h
  can include <asm/sigcontext.h>. ]

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-16-git-send-email-mingo@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/ia32/ia32_signal.c       | 2 +-
 arch/x86/include/asm/fpu/signal.h | 2 +-
 arch/x86/include/asm/ia32.h       | 2 +-
 arch/x86/include/asm/processor.h  | 2 +-
 arch/x86/include/asm/sigcontext.h | 2 ++
 arch/x86/include/asm/sigframe.h   | 2 +-
 arch/x86/include/asm/signal.h     | 2 +-
 arch/x86/math-emu/fpu_emu.h       | 2 +-
 8 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/arch/x86/ia32/ia32_signal.c b/arch/x86/ia32/ia32_signal.c
index 955ca03..5959042 100644
--- a/arch/x86/ia32/ia32_signal.c
+++ b/arch/x86/ia32/ia32_signal.c
@@ -26,7 +26,7 @@
 #include <asm/ptrace.h>
 #include <asm/ia32_unistd.h>
 #include <asm/user32.h>
-#include <asm/sigcontext.h>
+#include <uapi/asm/sigcontext.h>
 #include <asm/proto.h>
 #include <asm/vdso.h>
 #include <asm/sigframe.h>
diff --git a/arch/x86/include/asm/fpu/signal.h b/arch/x86/include/asm/fpu/signal.h
index 856f4b3c..0e970d0 100644
--- a/arch/x86/include/asm/fpu/signal.h
+++ b/arch/x86/include/asm/fpu/signal.h
@@ -5,7 +5,7 @@
 #define _ASM_X86_FPU_SIGNAL_H
 
 #ifdef CONFIG_X86_64
-# include <asm/sigcontext.h>
+# include <uapi/asm/sigcontext.h>
 # include <asm/user32.h>
 struct ksignal;
 int ia32_setup_rt_frame(int sig, struct ksignal *ksig,
diff --git a/arch/x86/include/asm/ia32.h b/arch/x86/include/asm/ia32.h
index 16edda2..a9bdf55 100644
--- a/arch/x86/include/asm/ia32.h
+++ b/arch/x86/include/asm/ia32.h
@@ -10,7 +10,7 @@
  * 32 bit structures for IA32 support.
  */
 
-#include <asm/sigcontext.h>
+#include <uapi/asm/sigcontext.h>
 
 /* signal.h */
 
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
index 19577dd..bb911e7 100644
--- a/arch/x86/include/asm/processor.h
+++ b/arch/x86/include/asm/processor.h
@@ -11,7 +11,7 @@ struct vm86;
 #include <asm/math_emu.h>
 #include <asm/segment.h>
 #include <asm/types.h>
-#include <asm/sigcontext.h>
+#include <uapi/asm/sigcontext.h>
 #include <asm/current.h>
 #include <asm/cpufeature.h>
 #include <asm/page.h>
diff --git a/arch/x86/include/asm/sigcontext.h b/arch/x86/include/asm/sigcontext.h
index 25815f0..e6cd2c4 100644
--- a/arch/x86/include/asm/sigcontext.h
+++ b/arch/x86/include/asm/sigcontext.h
@@ -1,6 +1,8 @@
 #ifndef _ASM_X86_SIGCONTEXT_H
 #define _ASM_X86_SIGCONTEXT_H
 
+/* This is a legacy header - all kernel code includes <uapi/asm/sigcontext.h> directly. */
+
 #include <uapi/asm/sigcontext.h>
 
 #endif /* _ASM_X86_SIGCONTEXT_H */
diff --git a/arch/x86/include/asm/sigframe.h b/arch/x86/include/asm/sigframe.h
index 867a757..34edd16 100644
--- a/arch/x86/include/asm/sigframe.h
+++ b/arch/x86/include/asm/sigframe.h
@@ -1,7 +1,7 @@
 #ifndef _ASM_X86_SIGFRAME_H
 #define _ASM_X86_SIGFRAME_H
 
-#include <asm/sigcontext.h>
+#include <uapi/asm/sigcontext.h>
 #include <asm/siginfo.h>
 #include <asm/ucontext.h>
 #include <linux/compat.h>
diff --git a/arch/x86/include/asm/signal.h b/arch/x86/include/asm/signal.h
index c481be7..2138c9a 100644
--- a/arch/x86/include/asm/signal.h
+++ b/arch/x86/include/asm/signal.h
@@ -34,7 +34,7 @@ extern void do_signal(struct pt_regs *regs);
 
 #define __ARCH_HAS_SA_RESTORER
 
-#include <asm/sigcontext.h>
+#include <uapi/asm/sigcontext.h>
 
 #ifdef __i386__
 
diff --git a/arch/x86/math-emu/fpu_emu.h b/arch/x86/math-emu/fpu_emu.h
index 4dae511..afbc4d8 100644
--- a/arch/x86/math-emu/fpu_emu.h
+++ b/arch/x86/math-emu/fpu_emu.h
@@ -71,7 +71,7 @@
 
 #include "fpu_system.h"
 
-#include <asm/sigcontext.h>	/* for struct _fpstate */
+#include <uapi/asm/sigcontext.h>	/* for struct _fpstate */
 #include <asm/math_emu.h>
 #include <linux/linkage.h>
 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1221066 — Re: [tip:x86/headers] x86/headers: Remove <asm/sigcontext.h> references on the kernel side

FromMikko Rapeli <mikko.rapeli@iki.fi>
Date2015-09-08 22:20 +0200
SubjectRe: [tip:x86/headers] x86/headers: Remove <asm/sigcontext.h> references on the kernel side
Message-ID<q6xx1-6mP-25@gated-at.bofh.it>
In reply to#1220863
Hi,

Tested these changes on top of my uapi headers fix branch and
they compile without problems in userspace and thus fix the original issue.

Also abi-compliance-checker reports that these changes don't break anything
in i386 ABI (details at [2]):

"Test Info
Library Name	kernel
Version #1	headers_test_v04
Version #2	headers_test_v04+test_ingo_x86_cleanup
CPU Type	x86
GCC Version	5.2.1
Subject	Binary Compatibility
Test Results
Total Header Files	767
Total Shared Libraries	0 (not analyzed)
Total Symbols / Types	62 / 67
Verdict	Compatible"

or API:

"Test Info
Library Name	kernel
Version #1	headers_test_v04
Version #2	headers_test_v04+test_ingo_x86_cleanup
CPU Type	x86
GCC Version	5.2.1
Subject	Source Compatibility
Test Results
Total Header Files	767
Total Shared Libraries	0 (not analyzed)
Total Symbols / Types	96 / 101
Verdict	Compatible"

While abi-compliance-checker is still quite broken with kernel header files[3]
addition of new constants was correctly detected:

"Other Changes in Constants (3)
sigcontext.h
[−] _fpstate
	Change	Effect
1	The constant _fpstate with value _fpstate_32 has been added.	No effect.

[−] _fpstate_ia32
	Change	Effect
1	The constant _fpstate_ia32 with value _fpstate_32 has been added.	No effect.

[−] sigcontext_ia32
	Change	Effect
1	The constant sigcontext_ia32 with value sigcontext_32 has been added.	No effect."

So for 32 bit userspace side

Tested-by: Mikko Rapeli <mikko.rapeli@iki.fi>

-Mikko

[1] http://lvc.github.io/abi-compliance-checker/

[2] API/ABI check results
    https://mcfrisk.kapsi.fi/temp/headers_test_v04_to_headers_test_v04+test_ingo_x86_cleanup/

[3] abi checker still has some issues with kernel headers:
    https://mcfrisk.kapsi.fi/temp/headers_test_v04+test_ingo_x86_cleanup/log.txt
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1219452 — [PATCH 04/15] x86/headers: Separate out legacy user-space structure definitions

FromIngo Molnar <mingo@kernel.org>
Date2015-09-05 09:40 +0200
Subject[PATCH 04/15] x86/headers: Separate out legacy user-space structure definitions
Message-ID<q5geT-2go-39@gated-at.bofh.it>
In reply to#1219444
Better separate the user-space struct sigcontext definitions from
the kernel definitions, so that we can unify the kernel definitions
with sigcontext32.h.

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: Mikko Rapeli <mikko.rapeli@iki.fi>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/include/uapi/asm/sigcontext.h | 119 ++++++++++++++++-----------------
 1 file changed, 59 insertions(+), 60 deletions(-)

diff --git a/arch/x86/include/uapi/asm/sigcontext.h b/arch/x86/include/uapi/asm/sigcontext.h
index f89b2f1abe7c..40d6cbac08c6 100644
--- a/arch/x86/include/uapi/asm/sigcontext.h
+++ b/arch/x86/include/uapi/asm/sigcontext.h
@@ -124,36 +124,6 @@ struct _fpstate {
 	};
 };
 
-# ifndef __KERNEL__
-/*
- * User-space might still rely on the old definition:
- */
-struct sigcontext {
-	unsigned short			gs, __gsh;
-	unsigned short			fs, __fsh;
-	unsigned short			es, __esh;
-	unsigned short			ds, __dsh;
-	unsigned long			edi;
-	unsigned long			esi;
-	unsigned long			ebp;
-	unsigned long			esp;
-	unsigned long			ebx;
-	unsigned long			edx;
-	unsigned long			ecx;
-	unsigned long			eax;
-	unsigned long			trapno;
-	unsigned long			err;
-	unsigned long			eip;
-	unsigned short			cs, __csh;
-	unsigned long			eflags;
-	unsigned long			esp_at_signal;
-	unsigned short			ss, __ssh;
-	struct _fpstate __user		*fpstate;
-	unsigned long			oldmask;
-	unsigned long			cr2;
-};
-# endif /* !__KERNEL__ */
-
 #else /* __x86_64__: */
 
 /*
@@ -186,10 +156,65 @@ struct _fpstate {
 	};
 };
 
-# ifndef __KERNEL__
+#endif /* __x86_64__ */
+
+struct _header {
+	__u64				xfeatures;
+	__u64				reserved1[2];
+	__u64				reserved2[5];
+};
+
+struct _ymmh_state {
+	/* 16x YMM registers, 16 bytes each: */
+	__u32				ymmh_space[64];
+};
+
 /*
- * User-space might still rely on the old definition:
+ * Extended state pointed to by sigcontext::fpstate.
+ *
+ * In addition to the fpstate, information encoded in _xstate::xstate_hdr
+ * indicates the presence of other extended state information supported
+ * by the CPU and kernel:
  */
+struct _xstate {
+	struct _fpstate			fpstate;
+	struct _header			xstate_hdr;
+	struct _ymmh_state		ymmh;
+	/* New processor state extensions go here: */
+};
+
+/*
+ * The old user-space sigcontext definition, just in case user-space still
+ * relies on it. The kernel definition (in asm/sigcontext.h) has unified
+ * field names but otherwise the same layout.
+ */
+#ifndef __KERNEL__
+# ifdef __i386__
+struct sigcontext {
+	unsigned short			gs, __gsh;
+	unsigned short			fs, __fsh;
+	unsigned short			es, __esh;
+	unsigned short			ds, __dsh;
+	unsigned long			edi;
+	unsigned long			esi;
+	unsigned long			ebp;
+	unsigned long			esp;
+	unsigned long			ebx;
+	unsigned long			edx;
+	unsigned long			ecx;
+	unsigned long			eax;
+	unsigned long			trapno;
+	unsigned long			err;
+	unsigned long			eip;
+	unsigned short			cs, __csh;
+	unsigned long			eflags;
+	unsigned long			esp_at_signal;
+	unsigned short			ss, __ssh;
+	struct _fpstate __user		*fpstate;
+	unsigned long			oldmask;
+	unsigned long			cr2;
+};
+# else /* __x86_64__: */
 struct sigcontext {
 	__u64				r8;
 	__u64				r9;
@@ -223,33 +248,7 @@ struct sigcontext {
 #  endif
 	__u64				reserved1[8];
 };
-# endif /* !__KERNEL__ */
-
-#endif /* __x86_64__ */
-
-struct _header {
-	__u64				xfeatures;
-	__u64				reserved1[2];
-	__u64				reserved2[5];
-};
-
-struct _ymmh_state {
-	/* 16x YMM registers, 16 bytes each: */
-	__u32				ymmh_space[64];
-};
-
-/*
- * Extended state pointed to by sigcontext::fpstate.
- *
- * In addition to the fpstate, information encoded in _xstate::xstate_hdr
- * indicates the presence of other extended state information supported
- * by the CPU and kernel:
- */
-struct _xstate {
-	struct _fpstate			fpstate;
-	struct _header			xstate_hdr;
-	struct _ymmh_state		ymmh;
-	/* New processor state extensions go here: */
-};
+# endif /* __x86_64__ */
+#endif /* !__KERNEL__ */
 
 #endif /* _UAPI_ASM_X86_SIGCONTEXT_H */
-- 
2.1.4

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

[toc] | [prev] | [next] | [standalone]


#1220849 — [tip:x86/headers] x86/headers: Separate out legacy user-space structure definitions

Fromtip-bot for Ingo Molnar <tipbot@zytor.com>
Date2015-09-08 16:30 +0200
Subject[tip:x86/headers] x86/headers: Separate out legacy user-space structure definitions
Message-ID<q6s4k-6PU-43@gated-at.bofh.it>
In reply to#1219452
Commit-ID:  128f8257a17a47b9a40f550cc2f36458cd8c07b0
Gitweb:     http://git.kernel.org/tip/128f8257a17a47b9a40f550cc2f36458cd8c07b0
Author:     Ingo Molnar <mingo@kernel.org>
AuthorDate: Sat, 5 Sep 2015 09:32:32 +0200
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Tue, 8 Sep 2015 10:03:56 +0200

x86/headers: Separate out legacy user-space structure definitions

Better separate the user-space struct sigcontext definitions
from the kernel definitions, so that we can unify the kernel
definitions with sigcontext32.h.

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-5-git-send-email-mingo@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/include/uapi/asm/sigcontext.h | 119 ++++++++++++++++-----------------
 1 file changed, 59 insertions(+), 60 deletions(-)

diff --git a/arch/x86/include/uapi/asm/sigcontext.h b/arch/x86/include/uapi/asm/sigcontext.h
index f89b2f1..40d6cba 100644
--- a/arch/x86/include/uapi/asm/sigcontext.h
+++ b/arch/x86/include/uapi/asm/sigcontext.h
@@ -124,36 +124,6 @@ struct _fpstate {
 	};
 };
 
-# ifndef __KERNEL__
-/*
- * User-space might still rely on the old definition:
- */
-struct sigcontext {
-	unsigned short			gs, __gsh;
-	unsigned short			fs, __fsh;
-	unsigned short			es, __esh;
-	unsigned short			ds, __dsh;
-	unsigned long			edi;
-	unsigned long			esi;
-	unsigned long			ebp;
-	unsigned long			esp;
-	unsigned long			ebx;
-	unsigned long			edx;
-	unsigned long			ecx;
-	unsigned long			eax;
-	unsigned long			trapno;
-	unsigned long			err;
-	unsigned long			eip;
-	unsigned short			cs, __csh;
-	unsigned long			eflags;
-	unsigned long			esp_at_signal;
-	unsigned short			ss, __ssh;
-	struct _fpstate __user		*fpstate;
-	unsigned long			oldmask;
-	unsigned long			cr2;
-};
-# endif /* !__KERNEL__ */
-
 #else /* __x86_64__: */
 
 /*
@@ -186,10 +156,65 @@ struct _fpstate {
 	};
 };
 
-# ifndef __KERNEL__
+#endif /* __x86_64__ */
+
+struct _header {
+	__u64				xfeatures;
+	__u64				reserved1[2];
+	__u64				reserved2[5];
+};
+
+struct _ymmh_state {
+	/* 16x YMM registers, 16 bytes each: */
+	__u32				ymmh_space[64];
+};
+
 /*
- * User-space might still rely on the old definition:
+ * Extended state pointed to by sigcontext::fpstate.
+ *
+ * In addition to the fpstate, information encoded in _xstate::xstate_hdr
+ * indicates the presence of other extended state information supported
+ * by the CPU and kernel:
  */
+struct _xstate {
+	struct _fpstate			fpstate;
+	struct _header			xstate_hdr;
+	struct _ymmh_state		ymmh;
+	/* New processor state extensions go here: */
+};
+
+/*
+ * The old user-space sigcontext definition, just in case user-space still
+ * relies on it. The kernel definition (in asm/sigcontext.h) has unified
+ * field names but otherwise the same layout.
+ */
+#ifndef __KERNEL__
+# ifdef __i386__
+struct sigcontext {
+	unsigned short			gs, __gsh;
+	unsigned short			fs, __fsh;
+	unsigned short			es, __esh;
+	unsigned short			ds, __dsh;
+	unsigned long			edi;
+	unsigned long			esi;
+	unsigned long			ebp;
+	unsigned long			esp;
+	unsigned long			ebx;
+	unsigned long			edx;
+	unsigned long			ecx;
+	unsigned long			eax;
+	unsigned long			trapno;
+	unsigned long			err;
+	unsigned long			eip;
+	unsigned short			cs, __csh;
+	unsigned long			eflags;
+	unsigned long			esp_at_signal;
+	unsigned short			ss, __ssh;
+	struct _fpstate __user		*fpstate;
+	unsigned long			oldmask;
+	unsigned long			cr2;
+};
+# else /* __x86_64__: */
 struct sigcontext {
 	__u64				r8;
 	__u64				r9;
@@ -223,33 +248,7 @@ struct sigcontext {
 #  endif
 	__u64				reserved1[8];
 };
-# endif /* !__KERNEL__ */
-
-#endif /* __x86_64__ */
-
-struct _header {
-	__u64				xfeatures;
-	__u64				reserved1[2];
-	__u64				reserved2[5];
-};
-
-struct _ymmh_state {
-	/* 16x YMM registers, 16 bytes each: */
-	__u32				ymmh_space[64];
-};
-
-/*
- * Extended state pointed to by sigcontext::fpstate.
- *
- * In addition to the fpstate, information encoded in _xstate::xstate_hdr
- * indicates the presence of other extended state information supported
- * by the CPU and kernel:
- */
-struct _xstate {
-	struct _fpstate			fpstate;
-	struct _header			xstate_hdr;
-	struct _ymmh_state		ymmh;
-	/* New processor state extensions go here: */
-};
+# endif /* __x86_64__ */
+#endif /* !__KERNEL__ */
 
 #endif /* _UAPI_ASM_X86_SIGCONTEXT_H */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1219453 — [PATCH 01/15] x86/headers: Fix (old) header file dependency bug in uapi/asm/sigcontext32.h

FromIngo Molnar <mingo@kernel.org>
Date2015-09-05 09:40 +0200
Subject[PATCH 01/15] x86/headers: Fix (old) header file dependency bug in uapi/asm/sigcontext32.h
Message-ID<q5geS-2go-27@gated-at.bofh.it>
In reply to#1219444
Mikko Rapeli reported that the following standalone user-space header does not compile:

  #include <asm/sigcontext32.h>

Due to undefined 'struct __fpx_sw_bytes' which is defined in asm/sigcontext.h.

The following header order works:

  #include <asm/sigcontext.h>
  #include <asm/sigcontext32.h>

and that's probably how everyone's been using these headers for the past decade or
so, but it's a legit header file dependency bug, so include asm/sigcontext.h in
sigcontext32.h to allow it to be built standlone.

Reported-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: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/include/uapi/asm/sigcontext32.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/x86/include/uapi/asm/sigcontext32.h b/arch/x86/include/uapi/asm/sigcontext32.h
index ad1478c4ae12..ff7826c41a1c 100644
--- a/arch/x86/include/uapi/asm/sigcontext32.h
+++ b/arch/x86/include/uapi/asm/sigcontext32.h
@@ -3,6 +3,8 @@
 
 #include <linux/types.h>
 
+#include <asm/sigcontext.h>
+
 /* signal context for 32bit programs. */
 
 #define X86_FXSR_MAGIC		0x0000
-- 
2.1.4

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

[toc] | [prev] | [next] | [standalone]


#1220846 — [tip:x86/headers] x86/headers: Fix (old) header file dependency bug in uapi/asm/sigcontext32.h

Fromtip-bot for Ingo Molnar <tipbot@zytor.com>
Date2015-09-08 16:30 +0200
Subject[tip:x86/headers] x86/headers: Fix (old) header file dependency bug in uapi/asm/sigcontext32.h
Message-ID<q6s4j-6PU-37@gated-at.bofh.it>
In reply to#1219453
Commit-ID:  b76cb6c869b966b4c991251136b45b3e1babc4e8
Gitweb:     http://git.kernel.org/tip/b76cb6c869b966b4c991251136b45b3e1babc4e8
Author:     Ingo Molnar <mingo@kernel.org>
AuthorDate: Sat, 5 Sep 2015 09:32:29 +0200
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Tue, 8 Sep 2015 10:03:55 +0200

x86/headers: Fix (old) header file dependency bug in uapi/asm/sigcontext32.h

Mikko Rapeli reported that the following standalone user-space
header does not compile:

  #include <asm/sigcontext32.h>

Due to undefined 'struct __fpx_sw_bytes' which is defined in
asm/sigcontext.h.

The following header order works:

  #include <asm/sigcontext.h>
  #include <asm/sigcontext32.h>

and that's probably how everyone's been using these headers for
the past decade or so, but it's a legit header file dependency
bug, so include asm/sigcontext.h in sigcontext32.h to allow it
to be built standlone.

Reported-by: Mikko Rapeli <mikko.rapeli@iki.fi>
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-2-git-send-email-mingo@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/include/uapi/asm/sigcontext32.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/x86/include/uapi/asm/sigcontext32.h b/arch/x86/include/uapi/asm/sigcontext32.h
index ad1478c..ff7826c 100644
--- a/arch/x86/include/uapi/asm/sigcontext32.h
+++ b/arch/x86/include/uapi/asm/sigcontext32.h
@@ -3,6 +3,8 @@
 
 #include <linux/types.h>
 
+#include <asm/sigcontext.h>
+
 /* signal context for 32bit programs. */
 
 #define X86_FXSR_MAGIC		0x0000
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1219454 — [PATCH 09/15] x86/headers: Clean up the kernel's struct sigcontext types to be ABI-clean

FromIngo Molnar <mingo@kernel.org>
Date2015-09-05 09:40 +0200
Subject[PATCH 09/15] x86/headers: Clean up the kernel's struct sigcontext types to be ABI-clean
Message-ID<q5geT-2go-37@gated-at.bofh.it>
In reply to#1219444
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.

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: Mikko Rapeli <mikko.rapeli@iki.fi>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 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 9dfce4e0417d..b9c2bd6402df 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 */
-- 
2.1.4

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

[toc] | [prev] | [next] | [standalone]


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

Fromtip-bot for Ingo Molnar <tipbot@zytor.com>
Date2015-09-08 16:30 +0200
Subject[tip:x86/headers] x86/headers: Clean up the kernel' s struct sigcontext types to be ABI-clean
Message-ID<q6s4k-6PU-59@gated-at.bofh.it>
In reply to#1219454
Commit-ID:  2d057c69e743bfb88f1259ddbf1b1160bdd850e5
Gitweb:     http://git.kernel.org/tip/2d057c69e743bfb88f1259ddbf1b1160bdd850e5
Author:     Ingo Molnar <mingo@kernel.org>
AuthorDate: Sat, 5 Sep 2015 09:32:37 +0200
Committer:  Ingo Molnar <mingo@kernel.org>
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@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-10-git-send-email-mingo@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 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-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | linux.kernel


csiph-web