diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-12-23 03:22:04 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-02-03 18:16:05 -0500 |
commit | 6e26aab98ce8a818fb1ec47f8f727a8480a9011b (patch) | |
tree | 3579b895d5b4ff1343b54686d91381d16a1313f0 /arch/parisc/kernel/signal32.c | |
parent | 0aa0203fb43f04714004b2c4ad33b858e240555d (diff) |
parisc: switch to generic sigaltstack
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/parisc/kernel/signal32.c')
-rw-r--r-- | arch/parisc/kernel/signal32.c | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/arch/parisc/kernel/signal32.c b/arch/parisc/kernel/signal32.c index 5dede04f2f3e..df79070c3715 100644 --- a/arch/parisc/kernel/signal32.c +++ b/arch/parisc/kernel/signal32.c | |||
@@ -148,41 +148,6 @@ sys32_rt_sigaction(int sig, const struct sigaction32 __user *act, struct sigacti | |||
148 | return ret; | 148 | return ret; |
149 | } | 149 | } |
150 | 150 | ||
151 | int | ||
152 | do_sigaltstack32 (const compat_stack_t __user *uss32, compat_stack_t __user *uoss32, unsigned long sp) | ||
153 | { | ||
154 | compat_stack_t ss32, oss32; | ||
155 | stack_t ss, oss; | ||
156 | stack_t *ssp = NULL, *ossp = NULL; | ||
157 | int ret; | ||
158 | |||
159 | if (uss32) { | ||
160 | if (copy_from_user(&ss32, uss32, sizeof ss32)) | ||
161 | return -EFAULT; | ||
162 | |||
163 | ss.ss_sp = (void __user *)(unsigned long)ss32.ss_sp; | ||
164 | ss.ss_flags = ss32.ss_flags; | ||
165 | ss.ss_size = ss32.ss_size; | ||
166 | |||
167 | ssp = &ss; | ||
168 | } | ||
169 | |||
170 | if (uoss32) | ||
171 | ossp = &oss; | ||
172 | |||
173 | KERNEL_SYSCALL(ret, do_sigaltstack, (const stack_t __user *)ssp, (stack_t __user *)ossp, sp); | ||
174 | |||
175 | if (!ret && uoss32) { | ||
176 | oss32.ss_sp = (unsigned int)(unsigned long)oss.ss_sp; | ||
177 | oss32.ss_flags = oss.ss_flags; | ||
178 | oss32.ss_size = oss.ss_size; | ||
179 | if (copy_to_user(uoss32, &oss32, sizeof *uoss32)) | ||
180 | return -EFAULT; | ||
181 | } | ||
182 | |||
183 | return ret; | ||
184 | } | ||
185 | |||
186 | long | 151 | long |
187 | restore_sigcontext32(struct compat_sigcontext __user *sc, struct compat_regfile __user * rf, | 152 | restore_sigcontext32(struct compat_sigcontext __user *sc, struct compat_regfile __user * rf, |
188 | struct pt_regs *regs) | 153 | struct pt_regs *regs) |