aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/signal_32.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/signal_32.c')
-rw-r--r--arch/x86/kernel/signal_32.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/x86/kernel/signal_32.c b/arch/x86/kernel/signal_32.c
index 0ff8d8750a7d..d9909881ac66 100644
--- a/arch/x86/kernel/signal_32.c
+++ b/arch/x86/kernel/signal_32.c
@@ -125,6 +125,7 @@ sys_sigaction(int sig, const struct old_sigaction __user *act,
125 return ret; 125 return ret;
126} 126}
127 127
128#ifdef CONFIG_X86_32
128asmlinkage int sys_sigaltstack(unsigned long bx) 129asmlinkage int sys_sigaltstack(unsigned long bx)
129{ 130{
130 /* 131 /*
@@ -137,6 +138,14 @@ asmlinkage int sys_sigaltstack(unsigned long bx)
137 138
138 return do_sigaltstack(uss, uoss, regs->sp); 139 return do_sigaltstack(uss, uoss, regs->sp);
139} 140}
141#else /* !CONFIG_X86_32 */
142asmlinkage long
143sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss,
144 struct pt_regs *regs)
145{
146 return do_sigaltstack(uss, uoss, regs->sp);
147}
148#endif /* CONFIG_X86_32 */
140 149
141#define COPY(x) { \ 150#define COPY(x) { \
142 err |= __get_user(regs->x, &sc->x); \ 151 err |= __get_user(regs->x, &sc->x); \