From 53a899fc7676de26aa64e53740da42f1af44384a Mon Sep 17 00:00:00 2001 From: Al Viro Date: Fri, 26 Oct 2012 23:08:25 -0400 Subject: [PATCH] --- yaml --- r: 340331 b: refs/heads/master c: 0bcfe5404962cfb1dd0d4b3755357c12a98ef3d1 h: refs/heads/master i: 340329: 3b1a725cb28691cec269531cc19cffb121554a1b 340327: 8d352a2fdbfd937f0809aff2b8b8dec55b966570 v: v3 --- [refs] | 2 +- trunk/arch/powerpc/Kconfig | 1 + trunk/arch/powerpc/include/asm/syscalls.h | 9 --------- trunk/arch/powerpc/include/asm/unistd.h | 3 +++ trunk/arch/powerpc/kernel/process.c | 23 ----------------------- 5 files changed, 5 insertions(+), 33 deletions(-) diff --git a/[refs] b/[refs] index c8b5d3e93ee1..073169b8fe6e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 38a61b6b4a45ec8c82c75403848e1c579113c3c5 +refs/heads/master: 0bcfe5404962cfb1dd0d4b3755357c12a98ef3d1 diff --git a/trunk/arch/powerpc/Kconfig b/trunk/arch/powerpc/Kconfig index 5af5aa707176..951a517a1a0f 100644 --- a/trunk/arch/powerpc/Kconfig +++ b/trunk/arch/powerpc/Kconfig @@ -145,6 +145,7 @@ config PPC select HAVE_MOD_ARCH_SPECIFIC select MODULES_USE_ELF_RELA select GENERIC_KERNEL_EXECVE + select CLONE_BACKWARDS config EARLY_PRINTK bool diff --git a/trunk/arch/powerpc/include/asm/syscalls.h b/trunk/arch/powerpc/include/asm/syscalls.h index 329db4ec12ca..b5308d3e6d39 100644 --- a/trunk/arch/powerpc/include/asm/syscalls.h +++ b/trunk/arch/powerpc/include/asm/syscalls.h @@ -17,15 +17,6 @@ asmlinkage unsigned long sys_mmap(unsigned long addr, size_t len, asmlinkage unsigned long sys_mmap2(unsigned long addr, size_t len, unsigned long prot, unsigned long flags, unsigned long fd, unsigned long pgoff); -asmlinkage int sys_clone(unsigned long clone_flags, unsigned long usp, - int __user *parent_tidp, void __user *child_threadptr, - int __user *child_tidp, int p6, struct pt_regs *regs); -asmlinkage int sys_fork(unsigned long p1, unsigned long p2, - unsigned long p3, unsigned long p4, unsigned long p5, - unsigned long p6, struct pt_regs *regs); -asmlinkage int sys_vfork(unsigned long p1, unsigned long p2, - unsigned long p3, unsigned long p4, unsigned long p5, - unsigned long p6, struct pt_regs *regs); asmlinkage long sys_pipe(int __user *fildes); asmlinkage long sys_pipe2(int __user *fildes, int flags); asmlinkage long sys_rt_sigaction(int sig, diff --git a/trunk/arch/powerpc/include/asm/unistd.h b/trunk/arch/powerpc/include/asm/unistd.h index 280068cfff2e..76fe846ec40e 100644 --- a/trunk/arch/powerpc/include/asm/unistd.h +++ b/trunk/arch/powerpc/include/asm/unistd.h @@ -56,6 +56,9 @@ #define __ARCH_WANT_COMPAT_SYS_SENDFILE #endif #define __ARCH_WANT_SYS_EXECVE +#define __ARCH_WANT_SYS_FORK +#define __ARCH_WANT_SYS_VFORK +#define __ARCH_WANT_SYS_CLONE /* * "Conditional" syscalls diff --git a/trunk/arch/powerpc/kernel/process.c b/trunk/arch/powerpc/kernel/process.c index f6d244db9203..a31437567631 100644 --- a/trunk/arch/powerpc/kernel/process.c +++ b/trunk/arch/powerpc/kernel/process.c @@ -1026,29 +1026,6 @@ int get_unalign_ctl(struct task_struct *tsk, unsigned long adr) return put_user(tsk->thread.align_ctl, (unsigned int __user *)adr); } -int sys_clone(unsigned long clone_flags, unsigned long usp, - int __user *parent_tidp, void __user *child_threadptr, - int __user *child_tidp, int p6, - struct pt_regs *regs) -{ - return do_fork(clone_flags, usp, regs, 0, parent_tidp, child_tidp); -} - -int sys_fork(unsigned long p1, unsigned long p2, unsigned long p3, - unsigned long p4, unsigned long p5, unsigned long p6, - struct pt_regs *regs) -{ - return do_fork(SIGCHLD, 0, regs, 0, NULL, NULL); -} - -int sys_vfork(unsigned long p1, unsigned long p2, unsigned long p3, - unsigned long p4, unsigned long p5, unsigned long p6, - struct pt_regs *regs) -{ - return do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, 0, - regs, 0, NULL, NULL); -} - static inline int valid_irq_stack(unsigned long sp, struct task_struct *p, unsigned long nbytes) {