aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/compat_linux.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/kernel/compat_linux.c')
-rw-r--r--arch/s390/kernel/compat_linux.c80
1 files changed, 0 insertions, 80 deletions
diff --git a/arch/s390/kernel/compat_linux.c b/arch/s390/kernel/compat_linux.c
index 65cca95843e1..19f26de27fae 100644
--- a/arch/s390/kernel/compat_linux.c
+++ b/arch/s390/kernel/compat_linux.c
@@ -352,86 +352,6 @@ asmlinkage long sys32_ftruncate64(unsigned int fd, unsigned long high, unsigned
352 return sys_ftruncate(fd, (high << 32) | low); 352 return sys_ftruncate(fd, (high << 32) | low);
353} 353}
354 354
355asmlinkage long sys32_sched_rr_get_interval(compat_pid_t pid,
356 struct compat_timespec __user *interval)
357{
358 struct timespec t;
359 int ret;
360 mm_segment_t old_fs = get_fs ();
361
362 set_fs (KERNEL_DS);
363 ret = sys_sched_rr_get_interval(pid,
364 (struct timespec __force __user *) &t);
365 set_fs (old_fs);
366 if (put_compat_timespec(&t, interval))
367 return -EFAULT;
368 return ret;
369}
370
371asmlinkage long sys32_rt_sigprocmask(int how, compat_sigset_t __user *set,
372 compat_sigset_t __user *oset, size_t sigsetsize)
373{
374 sigset_t s;
375 compat_sigset_t s32;
376 int ret;
377 mm_segment_t old_fs = get_fs();
378
379 if (set) {
380 if (copy_from_user (&s32, set, sizeof(compat_sigset_t)))
381 return -EFAULT;
382 s.sig[0] = s32.sig[0] | (((long)s32.sig[1]) << 32);
383 }
384 set_fs (KERNEL_DS);
385 ret = sys_rt_sigprocmask(how,
386 set ? (sigset_t __force __user *) &s : NULL,
387 oset ? (sigset_t __force __user *) &s : NULL,
388 sigsetsize);
389 set_fs (old_fs);
390 if (ret) return ret;
391 if (oset) {
392 s32.sig[1] = (s.sig[0] >> 32);
393 s32.sig[0] = s.sig[0];
394 if (copy_to_user (oset, &s32, sizeof(compat_sigset_t)))
395 return -EFAULT;
396 }
397 return 0;
398}
399
400asmlinkage long sys32_rt_sigpending(compat_sigset_t __user *set,
401 size_t sigsetsize)
402{
403 sigset_t s;
404 compat_sigset_t s32;
405 int ret;
406 mm_segment_t old_fs = get_fs();
407
408 set_fs (KERNEL_DS);
409 ret = sys_rt_sigpending((sigset_t __force __user *) &s, sigsetsize);
410 set_fs (old_fs);
411 if (!ret) {
412 s32.sig[1] = (s.sig[0] >> 32);
413 s32.sig[0] = s.sig[0];
414 if (copy_to_user (set, &s32, sizeof(compat_sigset_t)))
415 return -EFAULT;
416 }
417 return ret;
418}
419
420asmlinkage long
421sys32_rt_sigqueueinfo(int pid, int sig, compat_siginfo_t __user *uinfo)
422{
423 siginfo_t info;
424 int ret;
425 mm_segment_t old_fs = get_fs();
426
427 if (copy_siginfo_from_user32(&info, uinfo))
428 return -EFAULT;
429 set_fs (KERNEL_DS);
430 ret = sys_rt_sigqueueinfo(pid, sig, (siginfo_t __force __user *) &info);
431 set_fs (old_fs);
432 return ret;
433}
434
435asmlinkage long sys32_pread64(unsigned int fd, char __user *ubuf, 355asmlinkage long sys32_pread64(unsigned int fd, char __user *ubuf,
436 size_t count, u32 poshi, u32 poslo) 356 size_t count, u32 poshi, u32 poslo)
437{ 357{