Browse Source

[MIPS] N32: Make sure pointer is good before passing it to sys_waitid().

After all we're calling sys_waitid() with fs set to KERNEL_DS ...

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle 19 years ago
parent
commit
f3468e0c34
1 changed files with 3 additions and 0 deletions
  1. 3 0
      arch/mips/kernel/linux32.c

+ 3 - 0
arch/mips/kernel/linux32.c

@@ -230,6 +230,9 @@ sysn32_waitid(int which, compat_pid_t pid,
 	long ret;
 	mm_segment_t old_fs = get_fs();
 
+	if (!access_ok(VERIFY_WRITE, uinfo, sizeof(*uinfo)))
+		return -EFAULT;
+
 	set_fs (KERNEL_DS);
 	ret = sys_waitid(which, pid, uinfo, options,
 			 uru ? (struct rusage __user *) &ru : NULL);