aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/asm-offsets_32.c2
-rw-r--r--arch/x86/kernel/sigframe.h (renamed from arch/x86/kernel/sigframe_32.h)14
-rw-r--r--arch/x86/kernel/signal_32.c2
-rw-r--r--arch/x86/kernel/signal_64.c9
4 files changed, 13 insertions, 14 deletions
diff --git a/arch/x86/kernel/asm-offsets_32.c b/arch/x86/kernel/asm-offsets_32.c
index 8ea040124f7d..670c3c311289 100644
--- a/arch/x86/kernel/asm-offsets_32.c
+++ b/arch/x86/kernel/asm-offsets_32.c
@@ -10,7 +10,7 @@
10#include <linux/personality.h> 10#include <linux/personality.h>
11#include <linux/suspend.h> 11#include <linux/suspend.h>
12#include <asm/ucontext.h> 12#include <asm/ucontext.h>
13#include "sigframe_32.h" 13#include "sigframe.h"
14#include <asm/pgtable.h> 14#include <asm/pgtable.h>
15#include <asm/fixmap.h> 15#include <asm/fixmap.h>
16#include <asm/processor.h> 16#include <asm/processor.h>
diff --git a/arch/x86/kernel/sigframe_32.h b/arch/x86/kernel/sigframe.h
index 0b2221711dad..72bbb519d2dc 100644
--- a/arch/x86/kernel/sigframe_32.h
+++ b/arch/x86/kernel/sigframe.h
@@ -1,5 +1,5 @@
1struct sigframe 1#ifdef CONFIG_X86_32
2{ 2struct sigframe {
3 char __user *pretcode; 3 char __user *pretcode;
4 int sig; 4 int sig;
5 struct sigcontext sc; 5 struct sigcontext sc;
@@ -8,8 +8,7 @@ struct sigframe
8 char retcode[8]; 8 char retcode[8];
9}; 9};
10 10
11struct rt_sigframe 11struct rt_sigframe {
12{
13 char __user *pretcode; 12 char __user *pretcode;
14 int sig; 13 int sig;
15 struct siginfo __user *pinfo; 14 struct siginfo __user *pinfo;
@@ -19,3 +18,10 @@ struct rt_sigframe
19 struct _fpstate fpstate; 18 struct _fpstate fpstate;
20 char retcode[8]; 19 char retcode[8];
21}; 20};
21#else
22struct rt_sigframe {
23 char __user *pretcode;
24 struct ucontext uc;
25 struct siginfo info;
26};
27#endif
diff --git a/arch/x86/kernel/signal_32.c b/arch/x86/kernel/signal_32.c
index 47c85e6b14bb..5447fa5ec52c 100644
--- a/arch/x86/kernel/signal_32.c
+++ b/arch/x86/kernel/signal_32.c
@@ -24,7 +24,7 @@
24#include <asm/uaccess.h> 24#include <asm/uaccess.h>
25#include <asm/i387.h> 25#include <asm/i387.h>
26#include <asm/vdso.h> 26#include <asm/vdso.h>
27#include "sigframe_32.h" 27#include "sigframe.h"
28 28
29#define DEBUG_SIG 0 29#define DEBUG_SIG 0
30 30
diff --git a/arch/x86/kernel/signal_64.c b/arch/x86/kernel/signal_64.c
index 1045a07eeaec..8bb1013eb62b 100644
--- a/arch/x86/kernel/signal_64.c
+++ b/arch/x86/kernel/signal_64.c
@@ -26,6 +26,7 @@
26#include <asm/proto.h> 26#include <asm/proto.h>
27#include <asm/ia32_unistd.h> 27#include <asm/ia32_unistd.h>
28#include <asm/mce.h> 28#include <asm/mce.h>
29#include "sigframe.h"
29 30
30/* #define DEBUG_SIG 1 */ 31/* #define DEBUG_SIG 1 */
31 32
@@ -58,14 +59,6 @@ sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss,
58/* 59/*
59 * Do a signal return; undo the signal stack. 60 * Do a signal return; undo the signal stack.
60 */ 61 */
61
62struct rt_sigframe
63{
64 char __user *pretcode;
65 struct ucontext uc;
66 struct siginfo info;
67};
68
69static int 62static int
70restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, unsigned long *prax) 63restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, unsigned long *prax)
71{ 64{