]> git.hungrycats.org Git - linux/commitdiff
ppc64: add get/put_compat_timespec from Stephen Rothwell
authorAnton Blanchard <anton@samba.org>
Thu, 9 Jan 2003 21:20:08 +0000 (08:20 +1100)
committerAnton Blanchard <anton@samba.org>
Thu, 9 Jan 2003 21:20:08 +0000 (08:20 +1100)
arch/ppc64/kernel/signal32.c
arch/ppc64/kernel/sys_ppc32.c

index 1898fd9aeaa4693ca280388a4889fc0a8c81609d..f0fca12b0e1d5d7ddfe3727aaa567d8b18b4d52b 100644 (file)
@@ -720,18 +720,11 @@ long sys32_rt_sigtimedwait(sigset32_t *uthese, siginfo_t32 *uinfo,
        case 2: s.sig[1] = s32.sig[2] | (((long)s32.sig[3]) << 32);
        case 1: s.sig[0] = s32.sig[0] | (((long)s32.sig[1]) << 32);
        }
-       if (uts) {
-               ret = get_user(t.tv_sec, &uts->tv_sec);
-               ret |= __get_user(t.tv_nsec, &uts->tv_nsec);
-               if (ret)
-                       return -EFAULT;
-       }
+       if (uts && get_compat_timespec(&t, uts))
+               return -EFAULT;
        set_fs(KERNEL_DS);
-       if (uts) 
-               ret = sys_rt_sigtimedwait(&s, &info, &t, sigsetsize);
-       else
-               ret = sys_rt_sigtimedwait(&s, &info, (struct timespec *)uts,
-                               sigsetsize);
+       ret = sys_rt_sigtimedwait(&s, uinfo ? &info : NULL, uts ? &t : NULL,
+                       sigsetsize);
        set_fs(old_fs);
        if (ret >= 0 && uinfo) {
                if (copy_siginfo_to_user32(uinfo, &info))
index 95d8975b0bbe7653df40fe532caa89fb3de048ed..ec1fe11d22616b382095afb51ff4e5019221706c 100644 (file)
@@ -3603,10 +3603,8 @@ asmlinkage int sys32_sched_rr_get_interval(u32 pid, struct compat_timespec *inte
        set_fs (KERNEL_DS);
        ret = sys_sched_rr_get_interval((int)pid, &t);
        set_fs (old_fs);
-       if (put_user (t.tv_sec, &interval->tv_sec) ||
-           __put_user (t.tv_nsec, &interval->tv_nsec))
+       if (put_compat_timespec(&t, interval))
                return -EFAULT;
-       
        return ret;
 }