summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin2012-02-19 16:43:09 +0100
committerH. Peter Anvin2012-02-20 21:52:04 +0100
commit851394229e79c11b0b5b74c509817848e9a80564 (patch)
tree0c2ea13f80d1447bf47a13c287ae1bfda45e9f38
parentx86: Move some signal-handling definitions to a common header (diff)
downloadkernel-qcow2-linux-851394229e79c11b0b5b74c509817848e9a80564.tar.gz
kernel-qcow2-linux-851394229e79c11b0b5b74c509817848e9a80564.tar.xz
kernel-qcow2-linux-851394229e79c11b0b5b74c509817848e9a80564.zip
x32: Export setup/restore_sigcontext from signal.c
Export setup_sigcontext() and restore_sigcontext() from signal.c, so we can use the 64-bit versions verbatim for x32. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--arch/x86/include/asm/sighandling.h5
-rw-r--r--arch/x86/kernel/signal.c10
2 files changed, 9 insertions, 6 deletions
diff --git a/arch/x86/include/asm/sighandling.h b/arch/x86/include/asm/sighandling.h
index 843e299e120e..ada93b3b8c66 100644
--- a/arch/x86/include/asm/sighandling.h
+++ b/arch/x86/include/asm/sighandling.h
@@ -16,4 +16,9 @@
void signal_fault(struct pt_regs *regs, void __user *frame, char *where);
+int restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc,
+ unsigned long *pax);
+int setup_sigcontext(struct sigcontext __user *sc, void __user *fpstate,
+ struct pt_regs *regs, unsigned long mask);
+
#endif /* _ASM_X86_SIGHANDLING_H */
diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c
index c432dc0e65f0..450fb255f877 100644
--- a/arch/x86/kernel/signal.c
+++ b/arch/x86/kernel/signal.c
@@ -60,9 +60,8 @@
regs->seg = GET_SEG(seg) | 3; \
} while (0)
-static int
-restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc,
- unsigned long *pax)
+int restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc,
+ unsigned long *pax)
{
void __user *buf;
unsigned int tmpflags;
@@ -117,9 +116,8 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc,
return err;
}
-static int
-setup_sigcontext(struct sigcontext __user *sc, void __user *fpstate,
- struct pt_regs *regs, unsigned long mask)
+int setup_sigcontext(struct sigcontext __user *sc, void __user *fpstate,
+ struct pt_regs *regs, unsigned long mask)
{
int err = 0;