diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-23 18:50:11 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-23 18:50:11 -0800 | 
| commit | 9e2d59ad580d590134285f361a0e80f0e98c0207 (patch) | |
| tree | f3232be75781484193413f32ec82c21f6d8eb76e /arch/s390/kernel/compat_linux.c | |
| parent | 5ce1a70e2f00f0bce0cab57f798ca354b9496169 (diff) | |
| parent | 235b80226b986dabcbba844968f7807866bd0bfe (diff) | |
| download | olio-linux-3.10-9e2d59ad580d590134285f361a0e80f0e98c0207.tar.xz olio-linux-3.10-9e2d59ad580d590134285f361a0e80f0e98c0207.zip  | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal
Pull signal handling cleanups from Al Viro:
 "This is the first pile; another one will come a bit later and will
  contain SYSCALL_DEFINE-related patches.
   - a bunch of signal-related syscalls (both native and compat)
     unified.
   - a bunch of compat syscalls switched to COMPAT_SYSCALL_DEFINE
     (fixing several potential problems with missing argument
     validation, while we are at it)
   - a lot of now-pointless wrappers killed
   - a couple of architectures (cris and hexagon) forgot to save
     altstack settings into sigframe, even though they used the
     (uninitialized) values in sigreturn; fixed.
   - microblaze fixes for delivery of multiple signals arriving at once
   - saner set of helpers for signal delivery introduced, several
     architectures switched to using those."
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (143 commits)
  x86: convert to ksignal
  sparc: convert to ksignal
  arm: switch to struct ksignal * passing
  alpha: pass k_sigaction and siginfo_t using ksignal pointer
  burying unused conditionals
  make do_sigaltstack() static
  arm64: switch to generic old sigaction() (compat-only)
  arm64: switch to generic compat rt_sigaction()
  arm64: switch compat to generic old sigsuspend
  arm64: switch to generic compat rt_sigqueueinfo()
  arm64: switch to generic compat rt_sigpending()
  arm64: switch to generic compat rt_sigprocmask()
  arm64: switch to generic sigaltstack
  sparc: switch to generic old sigsuspend
  sparc: COMPAT_SYSCALL_DEFINE does all sign-extension as well as SYSCALL_DEFINE
  sparc: kill sign-extending wrappers for native syscalls
  kill sparc32_open()
  sparc: switch to use of generic old sigaction
  sparc: switch sys_compat_rt_sigaction() to COMPAT_SYSCALL_DEFINE
  mips: switch to generic sys_fork() and sys_clone()
  ...
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 65cca95843e..19f26de27fa 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  		return sys_ftruncate(fd, (high << 32) | low);  } -asmlinkage long sys32_sched_rr_get_interval(compat_pid_t pid, -				struct compat_timespec __user *interval) -{ -	struct timespec t; -	int ret; -	mm_segment_t old_fs = get_fs (); -	 -	set_fs (KERNEL_DS); -	ret = sys_sched_rr_get_interval(pid, -					(struct timespec __force __user *) &t); -	set_fs (old_fs); -	if (put_compat_timespec(&t, interval)) -		return -EFAULT; -	return ret; -} - -asmlinkage long sys32_rt_sigprocmask(int how, compat_sigset_t __user *set, -			compat_sigset_t __user *oset, size_t sigsetsize) -{ -	sigset_t s; -	compat_sigset_t s32; -	int ret; -	mm_segment_t old_fs = get_fs(); -	 -	if (set) { -		if (copy_from_user (&s32, set, sizeof(compat_sigset_t))) -			return -EFAULT; -		s.sig[0] = s32.sig[0] | (((long)s32.sig[1]) << 32); -	} -	set_fs (KERNEL_DS); -	ret = sys_rt_sigprocmask(how, -				 set ? (sigset_t __force __user *) &s : NULL, -				 oset ? (sigset_t __force __user *) &s : NULL, -				 sigsetsize); -	set_fs (old_fs); -	if (ret) return ret; -	if (oset) { -		s32.sig[1] = (s.sig[0] >> 32); -		s32.sig[0] = s.sig[0]; -		if (copy_to_user (oset, &s32, sizeof(compat_sigset_t))) -			return -EFAULT; -	} -	return 0; -} - -asmlinkage long sys32_rt_sigpending(compat_sigset_t __user *set, -				size_t sigsetsize) -{ -	sigset_t s; -	compat_sigset_t s32; -	int ret; -	mm_segment_t old_fs = get_fs(); -		 -	set_fs (KERNEL_DS); -	ret = sys_rt_sigpending((sigset_t __force __user *) &s, sigsetsize); -	set_fs (old_fs); -	if (!ret) { -		s32.sig[1] = (s.sig[0] >> 32); -		s32.sig[0] = s.sig[0]; -		if (copy_to_user (set, &s32, sizeof(compat_sigset_t))) -			return -EFAULT; -	} -	return ret; -} - -asmlinkage long -sys32_rt_sigqueueinfo(int pid, int sig, compat_siginfo_t __user *uinfo) -{ -	siginfo_t info; -	int ret; -	mm_segment_t old_fs = get_fs(); -	 -	if (copy_siginfo_from_user32(&info, uinfo)) -		return -EFAULT; -	set_fs (KERNEL_DS); -	ret = sys_rt_sigqueueinfo(pid, sig, (siginfo_t __force __user *) &info); -	set_fs (old_fs); -	return ret; -} -  asmlinkage long sys32_pread64(unsigned int fd, char __user *ubuf,  				size_t count, u32 poshi, u32 poslo)  {  |