diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-10 13:11:01 -0400 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2012-11-16 02:45:55 -0500 |
commit | 5f6c4ab6ee781c9aace7c8548ad9bd87f5678df7 (patch) | |
tree | ff78a2d102a665f148aab661e943caf87570bec5 /arch/microblaze | |
parent | 99c59f60fd751876c37fbea01e55606441ac6db4 (diff) |
microblaze: switch to generic sys_execve()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/microblaze')
-rw-r--r-- | arch/microblaze/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/microblaze/kernel/entry-nommu.S | 4 | ||||
-rw-r--r-- | arch/microblaze/kernel/entry.S | 4 | ||||
-rw-r--r-- | arch/microblaze/kernel/sys_microblaze.c | 18 |
4 files changed, 1 insertions, 26 deletions
diff --git a/arch/microblaze/include/asm/unistd.h b/arch/microblaze/include/asm/unistd.h index 6985e6e9d826..ea7442834294 100644 --- a/arch/microblaze/include/asm/unistd.h +++ b/arch/microblaze/include/asm/unistd.h | |||
@@ -422,6 +422,7 @@ | |||
422 | #define __ARCH_WANT_SYS_SIGPROCMASK | 422 | #define __ARCH_WANT_SYS_SIGPROCMASK |
423 | #define __ARCH_WANT_SYS_RT_SIGACTION | 423 | #define __ARCH_WANT_SYS_RT_SIGACTION |
424 | #define __ARCH_WANT_SYS_RT_SIGSUSPEND | 424 | #define __ARCH_WANT_SYS_RT_SIGSUSPEND |
425 | #define __ARCH_WANT_SYS_EXECVE | ||
425 | 426 | ||
426 | /* | 427 | /* |
427 | * "Conditional" syscalls | 428 | * "Conditional" syscalls |
diff --git a/arch/microblaze/kernel/entry-nommu.S b/arch/microblaze/kernel/entry-nommu.S index 8957c7760c47..673a49c04a02 100644 --- a/arch/microblaze/kernel/entry-nommu.S +++ b/arch/microblaze/kernel/entry-nommu.S | |||
@@ -567,10 +567,6 @@ sys_clone: | |||
567 | brid microblaze_clone | 567 | brid microblaze_clone |
568 | addk r7, r1, r0 | 568 | addk r7, r1, r0 |
569 | 569 | ||
570 | sys_execve: | ||
571 | brid microblaze_execve | ||
572 | addk r8, r1, r0 | ||
573 | |||
574 | sys_rt_sigreturn_wrapper: | 570 | sys_rt_sigreturn_wrapper: |
575 | brid sys_rt_sigreturn | 571 | brid sys_rt_sigreturn |
576 | addk r5, r1, r0 | 572 | addk r5, r1, r0 |
diff --git a/arch/microblaze/kernel/entry.S b/arch/microblaze/kernel/entry.S index 9aa54def9985..10f360ed82b4 100644 --- a/arch/microblaze/kernel/entry.S +++ b/arch/microblaze/kernel/entry.S | |||
@@ -489,10 +489,6 @@ C_ENTRY(sys_clone): | |||
489 | brid do_fork /* Do real work (tail-call) */ | 489 | brid do_fork /* Do real work (tail-call) */ |
490 | add r8, r0, r0; /* Arg 3: (unused) */ | 490 | add r8, r0, r0; /* Arg 3: (unused) */ |
491 | 491 | ||
492 | C_ENTRY(sys_execve): | ||
493 | brid microblaze_execve; /* Do real work (tail-call).*/ | ||
494 | addik r8, r1, 0; /* add user context as 4th arg */ | ||
495 | |||
496 | C_ENTRY(sys_rt_sigreturn_wrapper): | 492 | C_ENTRY(sys_rt_sigreturn_wrapper): |
497 | brid sys_rt_sigreturn /* Do real work */ | 493 | brid sys_rt_sigreturn /* Do real work */ |
498 | addik r5, r1, 0; /* add user context as 1st arg */ | 494 | addik r5, r1, 0; /* add user context as 1st arg */ |
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, | |||
48 | return do_fork(flags, stack, regs, 0, NULL, NULL); | 48 | return do_fork(flags, stack, regs, 0, NULL, NULL); |
49 | } | 49 | } |
50 | 50 | ||
51 | asmlinkage long microblaze_execve(const char __user *filenamei, | ||
52 | const char __user *const __user *argv, | ||
53 | const char __user *const __user *envp, | ||
54 | struct pt_regs *regs) | ||
55 | { | ||
56 | int error; | ||
57 | struct filename *filename; | ||
58 | |||
59 | filename = getname(filenamei); | ||
60 | error = PTR_ERR(filename); | ||
61 | if (IS_ERR(filename)) | ||
62 | goto out; | ||
63 | error = do_execve(filename->name, argv, envp, regs); | ||
64 | putname(filename); | ||
65 | out: | ||
66 | return error; | ||
67 | } | ||
68 | |||
69 | asmlinkage long sys_mmap(unsigned long addr, unsigned long len, | 51 | asmlinkage long sys_mmap(unsigned long addr, unsigned long len, |
70 | unsigned long prot, unsigned long flags, | 52 | unsigned long prot, unsigned long flags, |
71 | unsigned long fd, off_t pgoff) | 53 | unsigned long fd, off_t pgoff) |