diff options
Diffstat (limited to 'arch/s390/kernel/compat_linux.c')
-rw-r--r-- | arch/s390/kernel/compat_linux.c | 80 |
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 | ||
355 | asmlinkage 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 | |||
371 | asmlinkage 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 | |||
400 | asmlinkage 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 | |||
420 | asmlinkage long | ||
421 | sys32_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 | |||
435 | asmlinkage long sys32_pread64(unsigned int fd, char __user *ubuf, | 355 | asmlinkage 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 | { |