diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-09 23:02:25 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-09 23:02:25 -0400 |
commit | 42859eea96ba6beabfb0369a1eeffa3c7d2bd9cb (patch) | |
tree | fa38aeda0d6e7a4c48a882b166b8643594a1ad50 /arch/s390/kernel/compat_linux.c | |
parent | f59b51fe3d3092c08d7d554ecb40db24011b2ebc (diff) | |
parent | f322220d6159455da2b5a8a596d802c8695fed30 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal
Pull generic execve() changes from Al Viro:
"This introduces the generic kernel_thread() and kernel_execve()
functions, and switches x86, arm, alpha, um and s390 over to them."
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (26 commits)
s390: convert to generic kernel_execve()
s390: switch to generic kernel_thread()
s390: fold kernel_thread_helper() into ret_from_fork()
s390: fold execve_tail() into start_thread(), convert to generic sys_execve()
um: switch to generic kernel_thread()
x86, um/x86: switch to generic sys_execve and kernel_execve
x86: split ret_from_fork
alpha: introduce ret_from_kernel_execve(), switch to generic kernel_execve()
alpha: switch to generic kernel_thread()
alpha: switch to generic sys_execve()
arm: get rid of execve wrapper, switch to generic execve() implementation
arm: optimized current_pt_regs()
arm: introduce ret_from_kernel_execve(), switch to generic kernel_execve()
arm: split ret_from_fork, simplify kernel_thread() [based on patch by rmk]
generic sys_execve()
generic kernel_execve()
new helper: current_pt_regs()
preparation for generic kernel_thread()
um: kill thread->forking
um: let signal_delivered() do SIGTRAP on singlestepping into handler
...
Diffstat (limited to 'arch/s390/kernel/compat_linux.c')
-rw-r--r-- | arch/s390/kernel/compat_linux.c | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/arch/s390/kernel/compat_linux.c b/arch/s390/kernel/compat_linux.c index 189963c90c6e..65cca95843e1 100644 --- a/arch/s390/kernel/compat_linux.c +++ b/arch/s390/kernel/compat_linux.c | |||
@@ -432,32 +432,6 @@ sys32_rt_sigqueueinfo(int pid, int sig, compat_siginfo_t __user *uinfo) | |||
432 | return ret; | 432 | return ret; |
433 | } | 433 | } |
434 | 434 | ||
435 | /* | ||
436 | * sys32_execve() executes a new program after the asm stub has set | ||
437 | * things up for us. This should basically do what I want it to. | ||
438 | */ | ||
439 | asmlinkage long sys32_execve(const char __user *name, compat_uptr_t __user *argv, | ||
440 | compat_uptr_t __user *envp) | ||
441 | { | ||
442 | struct pt_regs *regs = task_pt_regs(current); | ||
443 | char *filename; | ||
444 | long rc; | ||
445 | |||
446 | filename = getname(name); | ||
447 | rc = PTR_ERR(filename); | ||
448 | if (IS_ERR(filename)) | ||
449 | return rc; | ||
450 | rc = compat_do_execve(filename, argv, envp, regs); | ||
451 | if (rc) | ||
452 | goto out; | ||
453 | current->thread.fp_regs.fpc=0; | ||
454 | asm volatile("sfpc %0,0" : : "d" (0)); | ||
455 | rc = regs->gprs[2]; | ||
456 | out: | ||
457 | putname(filename); | ||
458 | return rc; | ||
459 | } | ||
460 | |||
461 | asmlinkage long sys32_pread64(unsigned int fd, char __user *ubuf, | 435 | asmlinkage long sys32_pread64(unsigned int fd, char __user *ubuf, |
462 | size_t count, u32 poshi, u32 poslo) | 436 | size_t count, u32 poshi, u32 poslo) |
463 | { | 437 | { |