diff options
Diffstat (limited to 'arch/mips/kernel/linux32.c')
| -rw-r--r-- | arch/mips/kernel/linux32.c | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c index 60353f5acc48..5f68b220c26d 100644 --- a/arch/mips/kernel/linux32.c +++ b/arch/mips/kernel/linux32.c | |||
| @@ -230,6 +230,9 @@ sysn32_waitid(int which, compat_pid_t pid, | |||
| 230 | long ret; | 230 | long ret; |
| 231 | mm_segment_t old_fs = get_fs(); | 231 | mm_segment_t old_fs = get_fs(); |
| 232 | 232 | ||
| 233 | if (!access_ok(VERIFY_WRITE, uinfo, sizeof(*uinfo))) | ||
| 234 | return -EFAULT; | ||
| 235 | |||
| 233 | set_fs (KERNEL_DS); | 236 | set_fs (KERNEL_DS); |
| 234 | ret = sys_waitid(which, pid, uinfo, options, | 237 | ret = sys_waitid(which, pid, uinfo, options, |
| 235 | uru ? (struct rusage __user *) &ru : NULL); | 238 | uru ? (struct rusage __user *) &ru : NULL); |
| @@ -1450,25 +1453,6 @@ sys32_timer_create(u32 clock, struct sigevent32 __user *se32, timer_t __user *ti | |||
| 1450 | return sys_timer_create(clock, p, timer_id); | 1453 | return sys_timer_create(clock, p, timer_id); |
| 1451 | } | 1454 | } |
| 1452 | 1455 | ||
| 1453 | asmlinkage long | ||
| 1454 | sysn32_rt_sigtimedwait(const sigset_t __user *uthese, | ||
| 1455 | siginfo_t __user *uinfo, | ||
| 1456 | const struct compat_timespec __user *uts32, | ||
| 1457 | size_t sigsetsize) | ||
| 1458 | { | ||
| 1459 | struct timespec __user *uts = NULL; | ||
| 1460 | |||
| 1461 | if (uts32) { | ||
| 1462 | struct timespec ts; | ||
| 1463 | uts = compat_alloc_user_space(sizeof(struct timespec)); | ||
| 1464 | if (get_user(ts.tv_sec, &uts32->tv_sec) || | ||
| 1465 | get_user(ts.tv_nsec, &uts32->tv_nsec) || | ||
| 1466 | copy_to_user (uts, &ts, sizeof (ts))) | ||
| 1467 | return -EFAULT; | ||
| 1468 | } | ||
| 1469 | return sys_rt_sigtimedwait(uthese, uinfo, uts, sigsetsize); | ||
| 1470 | } | ||
| 1471 | |||
| 1472 | save_static_function(sys32_clone); | 1456 | save_static_function(sys32_clone); |
| 1473 | __attribute_used__ noinline static int | 1457 | __attribute_used__ noinline static int |
| 1474 | _sys32_clone(nabi_no_regargs struct pt_regs regs) | 1458 | _sys32_clone(nabi_no_regargs struct pt_regs regs) |
