linux32.c (82ad93f4a002294820e9a5e6f84beef2222a54b7) linux32.c (f3468e0c34c8de919062582575a01e2434c8e727)
1/*
2 * Conversion between 32-bit and 64-bit native system calls.
3 *
4 * Copyright (C) 2000 Silicon Graphics, Inc.
5 * Written by Ulf Carlsson (ulfc@engr.sgi.com)
6 * sys32_execve from ia64/ia32 code, Feb 2000, Kanoj Sarcar (kanoj@sgi.com)
7 */
8#include <linux/config.h>

--- 216 unchanged lines hidden (view full) ---

225sysn32_waitid(int which, compat_pid_t pid,
226 siginfo_t __user *uinfo, int options,
227 struct compat_rusage __user *uru)
228{
229 struct rusage ru;
230 long ret;
231 mm_segment_t old_fs = get_fs();
232
1/*
2 * Conversion between 32-bit and 64-bit native system calls.
3 *
4 * Copyright (C) 2000 Silicon Graphics, Inc.
5 * Written by Ulf Carlsson (ulfc@engr.sgi.com)
6 * sys32_execve from ia64/ia32 code, Feb 2000, Kanoj Sarcar (kanoj@sgi.com)
7 */
8#include <linux/config.h>

--- 216 unchanged lines hidden (view full) ---

225sysn32_waitid(int which, compat_pid_t pid,
226 siginfo_t __user *uinfo, int options,
227 struct compat_rusage __user *uru)
228{
229 struct rusage ru;
230 long ret;
231 mm_segment_t old_fs = get_fs();
232
233 if (!access_ok(VERIFY_WRITE, uinfo, sizeof(*uinfo)))
234 return -EFAULT;
235
233 set_fs (KERNEL_DS);
234 ret = sys_waitid(which, pid, uinfo, options,
235 uru ? (struct rusage __user *) &ru : NULL);
236 set_fs (old_fs);
237
238 if (ret < 0 || uinfo->si_signo == 0)
239 return ret;
240

--- 1238 unchanged lines hidden ---
236 set_fs (KERNEL_DS);
237 ret = sys_waitid(which, pid, uinfo, options,
238 uru ? (struct rusage __user *) &ru : NULL);
239 set_fs (old_fs);
240
241 if (ret < 0 || uinfo->si_signo == 0)
242 return ret;
243

--- 1238 unchanged lines hidden ---