aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/signal.c
diff options
context:
space:
mode:
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>2006-01-31 11:41:09 -0500
committerRalf Baechle <ralf@linux-mips.org>2006-02-07 08:30:25 -0500
commit9bbf28a36cae08817ac3a3f98fde329b02c89f4a (patch)
treec040508718623f0d2fb158352dd3130da4223fc7 /arch/mips/kernel/signal.c
parent5be0f654a9d14c0c5aa031a3396ea8b9f2162cb9 (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.c14
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:
279int setup_frame(struct k_sigaction * ka, struct pt_regs *regs, 279int 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:
326int setup_rt_frame(struct k_sigaction * ka, struct pt_regs *regs, 326int 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));