aboutsummaryrefslogtreecommitdiffstats
path: root/arch/score/kernel
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-10-15 15:33:32 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-10-15 16:12:07 -0400
commit1ffbed7220331dabc04dee6d3c520b5b022b9245 (patch)
tree2131e1a352fd60a728ee24e2543a0d701cd94264 /arch/score/kernel
parent1856ab6db1296c9c31ad58263d49ee9b75568ddb (diff)
score: switch to generic sys_execve()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/score/kernel')
-rw-r--r--arch/score/kernel/entry.S5
-rw-r--r--arch/score/kernel/sys_score.c24
2 files changed, 0 insertions, 29 deletions
diff --git a/arch/score/kernel/entry.S b/arch/score/kernel/entry.S
index 74a5cc7f596e..da9901088bbb 100644
--- a/arch/score/kernel/entry.S
+++ b/arch/score/kernel/entry.S
@@ -487,11 +487,6 @@ illegal_syscall:
487 sw r9, [r0, PT_R7] 487 sw r9, [r0, PT_R7]
488 j syscall_return 488 j syscall_return
489 489
490ENTRY(sys_execve)
491 mv r4, r0
492 la r8, score_execve
493 br r8
494
495ENTRY(sys_clone) 490ENTRY(sys_clone)
496 mv r4, r0 491 mv r4, r0
497 la r8, score_clone 492 la r8, score_clone
diff --git a/arch/score/kernel/sys_score.c b/arch/score/kernel/sys_score.c
index 5a682fce1fdb..c54434c2fd9d 100644
--- a/arch/score/kernel/sys_score.c
+++ b/arch/score/kernel/sys_score.c
@@ -83,27 +83,3 @@ score_vfork(struct pt_regs *regs)
83 return do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, 83 return do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD,
84 regs->regs[0], regs, 0, NULL, NULL); 84 regs->regs[0], regs, 0, NULL, NULL);
85} 85}
86
87/*
88 * sys_execve() executes a new program.
89 * This is called indirectly via a small wrapper
90 */
91asmlinkage long
92score_execve(struct pt_regs *regs)
93{
94 int error;
95 struct filename *filename;
96
97 filename = getname((char __user*)regs->regs[4]);
98 error = PTR_ERR(filename);
99 if (IS_ERR(filename))
100 return error;
101
102 error = do_execve(filename->name,
103 (const char __user *const __user *)regs->regs[5],
104 (const char __user *const __user *)regs->regs[6],
105 regs);
106
107 putname(filename);
108 return error;
109}