From 99c59f60fd751876c37fbea01e55606441ac6db4 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Wed, 10 Oct 2012 11:52:44 -0400 Subject: microblaze: switch to generic kernel_execve() Signed-off-by: Al Viro Signed-off-by: Michal Simek --- arch/microblaze/kernel/sys_microblaze.c | 21 --------------------- 1 file changed, 21 deletions(-) (limited to 'arch/microblaze/kernel/sys_microblaze.c') diff --git a/arch/microblaze/kernel/sys_microblaze.c b/arch/microblaze/kernel/sys_microblaze.c index 404c0f24bd41..b200ee7d1da9 100644 --- a/arch/microblaze/kernel/sys_microblaze.c +++ b/arch/microblaze/kernel/sys_microblaze.c @@ -75,24 +75,3 @@ asmlinkage long sys_mmap(unsigned long addr, unsigned long len, return sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff >> PAGE_SHIFT); } - -/* - * Do a system call from kernel instead of calling sys_execve so we - * end up with proper pt_regs. - */ -int kernel_execve(const char *filename, - const char *const argv[], - const char *const envp[]) -{ - register const char *__a __asm__("r5") = filename; - register const void *__b __asm__("r6") = argv; - register const void *__c __asm__("r7") = envp; - register unsigned long __syscall __asm__("r12") = __NR_execve; - register unsigned long __ret __asm__("r3"); - __asm__ __volatile__ ("brki r14, 0x8" - : "=r" (__ret), "=r" (__syscall) - : "1" (__syscall), "r" (__a), "r" (__b), "r" (__c) - : "r4", "r8", "r9", - "r10", "r11", "r14", "cc", "memory"); - return __ret; -} -- cgit v1.2.1 From 5f6c4ab6ee781c9aace7c8548ad9bd87f5678df7 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Wed, 10 Oct 2012 13:11:01 -0400 Subject: microblaze: switch to generic sys_execve() Signed-off-by: Al Viro --- arch/microblaze/kernel/sys_microblaze.c | 18 ------------------ 1 file changed, 18 deletions(-) (limited to 'arch/microblaze/kernel/sys_microblaze.c') diff --git a/arch/microblaze/kernel/sys_microblaze.c b/arch/microblaze/kernel/sys_microblaze.c index b200ee7d1da9..a6a7bae9f5c6 100644 --- a/arch/microblaze/kernel/sys_microblaze.c +++ b/arch/microblaze/kernel/sys_microblaze.c @@ -48,24 +48,6 @@ asmlinkage long microblaze_clone(int flags, unsigned long stack, return do_fork(flags, stack, regs, 0, NULL, NULL); } -asmlinkage long microblaze_execve(const char __user *filenamei, - const char __user *const __user *argv, - const char __user *const __user *envp, - struct pt_regs *regs) -{ - int error; - struct filename *filename; - - filename = getname(filenamei); - error = PTR_ERR(filename); - if (IS_ERR(filename)) - goto out; - error = do_execve(filename->name, argv, envp, regs); - putname(filename); -out: - return error; -} - asmlinkage long sys_mmap(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, off_t pgoff) -- cgit v1.2.1 From f3268edbe6fe0ce56e62c6d6b14640aeb04864b7 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Sat, 27 Oct 2012 00:03:41 -0400 Subject: microblaze: switch to generic fork/vfork/clone Signed-off-by: Al Viro Signed-off-by: Michal Simek --- arch/microblaze/kernel/sys_microblaze.c | 14 -------------- 1 file changed, 14 deletions(-) (limited to 'arch/microblaze/kernel/sys_microblaze.c') diff --git a/arch/microblaze/kernel/sys_microblaze.c b/arch/microblaze/kernel/sys_microblaze.c index a6a7bae9f5c6..63647c586b43 100644 --- a/arch/microblaze/kernel/sys_microblaze.c +++ b/arch/microblaze/kernel/sys_microblaze.c @@ -34,20 +34,6 @@ #include -asmlinkage long microblaze_vfork(struct pt_regs *regs) -{ - return do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, regs->r1, - regs, 0, NULL, NULL); -} - -asmlinkage long microblaze_clone(int flags, unsigned long stack, - struct pt_regs *regs) -{ - if (!stack) - stack = regs->r1; - return do_fork(flags, stack, regs, 0, NULL, NULL); -} - asmlinkage long sys_mmap(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, off_t pgoff) -- cgit v1.2.1