diff options
author | Atsushi Nemoto <anemo@mba.ocn.ne.jp> | 2006-01-31 11:41:09 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-02-07 08:30:25 -0500 |
commit | 9bbf28a36cae08817ac3a3f98fde329b02c89f4a (patch) | |
tree | c040508718623f0d2fb158352dd3130da4223fc7 /arch/mips/kernel/signal.c | |
parent | 5be0f654a9d14c0c5aa031a3396ea8b9f2162cb9 (diff) |
[MIPS] Sparse: Add some __user tags to signal functions.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/signal.c')
-rw-r--r-- | arch/mips/kernel/signal.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c index 7d1800fe7038..e8e43bd57a09 100644 --- a/arch/mips/kernel/signal.c +++ b/arch/mips/kernel/signal.c | |||
@@ -199,10 +199,10 @@ save_static_function(sys_sigreturn); | |||
199 | __attribute_used__ noinline static void | 199 | __attribute_used__ noinline static void |
200 | _sys_sigreturn(nabi_no_regargs struct pt_regs regs) | 200 | _sys_sigreturn(nabi_no_regargs struct pt_regs regs) |
201 | { | 201 | { |
202 | struct sigframe *frame; | 202 | struct sigframe __user *frame; |
203 | sigset_t blocked; | 203 | sigset_t blocked; |
204 | 204 | ||
205 | frame = (struct sigframe *) regs.regs[29]; | 205 | frame = (struct sigframe __user *) regs.regs[29]; |
206 | if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) | 206 | if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) |
207 | goto badframe; | 207 | goto badframe; |
208 | if (__copy_from_user(&blocked, &frame->sf_mask, sizeof(blocked))) | 208 | if (__copy_from_user(&blocked, &frame->sf_mask, sizeof(blocked))) |
@@ -236,11 +236,11 @@ save_static_function(sys_rt_sigreturn); | |||
236 | __attribute_used__ noinline static void | 236 | __attribute_used__ noinline static void |
237 | _sys_rt_sigreturn(nabi_no_regargs struct pt_regs regs) | 237 | _sys_rt_sigreturn(nabi_no_regargs struct pt_regs regs) |
238 | { | 238 | { |
239 | struct rt_sigframe *frame; | 239 | struct rt_sigframe __user *frame; |
240 | sigset_t set; | 240 | sigset_t set; |
241 | stack_t st; | 241 | stack_t st; |
242 | 242 | ||
243 | frame = (struct rt_sigframe *) regs.regs[29]; | 243 | frame = (struct rt_sigframe __user *) regs.regs[29]; |
244 | if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) | 244 | if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) |
245 | goto badframe; | 245 | goto badframe; |
246 | if (__copy_from_user(&set, &frame->rs_uc.uc_sigmask, sizeof(set))) | 246 | if (__copy_from_user(&set, &frame->rs_uc.uc_sigmask, sizeof(set))) |
@@ -259,7 +259,7 @@ _sys_rt_sigreturn(nabi_no_regargs struct pt_regs regs) | |||
259 | goto badframe; | 259 | goto badframe; |
260 | /* It is more difficult to avoid calling this function than to | 260 | /* It is more difficult to avoid calling this function than to |
261 | call it and ignore errors. */ | 261 | call it and ignore errors. */ |
262 | do_sigaltstack(&st, NULL, regs.regs[29]); | 262 | do_sigaltstack((stack_t __user *)&st, NULL, regs.regs[29]); |
263 | 263 | ||
264 | /* | 264 | /* |
265 | * Don't let your children do this ... | 265 | * Don't let your children do this ... |
@@ -279,7 +279,7 @@ badframe: | |||
279 | int setup_frame(struct k_sigaction * ka, struct pt_regs *regs, | 279 | int setup_frame(struct k_sigaction * ka, struct pt_regs *regs, |
280 | int signr, sigset_t *set) | 280 | int signr, sigset_t *set) |
281 | { | 281 | { |
282 | struct sigframe *frame; | 282 | struct sigframe __user *frame; |
283 | int err = 0; | 283 | int err = 0; |
284 | 284 | ||
285 | frame = get_sigframe(ka, regs, sizeof(*frame)); | 285 | frame = get_sigframe(ka, regs, sizeof(*frame)); |
@@ -326,7 +326,7 @@ give_sigsegv: | |||
326 | int setup_rt_frame(struct k_sigaction * ka, struct pt_regs *regs, | 326 | int setup_rt_frame(struct k_sigaction * ka, struct pt_regs *regs, |
327 | int signr, sigset_t *set, siginfo_t *info) | 327 | int signr, sigset_t *set, siginfo_t *info) |
328 | { | 328 | { |
329 | struct rt_sigframe *frame; | 329 | struct rt_sigframe __user *frame; |
330 | int err = 0; | 330 | int err = 0; |
331 | 331 | ||
332 | frame = get_sigframe(ka, regs, sizeof(*frame)); | 332 | frame = get_sigframe(ka, regs, sizeof(*frame)); |