summaryrefslogtreecommitdiffstats
path: root/arch/alpha/kernel/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/alpha/kernel/process.c')
-rw-r--r--arch/alpha/kernel/process.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/arch/alpha/kernel/process.c b/arch/alpha/kernel/process.c
index 508e278b0..2dd505e10 100644
--- a/arch/alpha/kernel/process.c
+++ b/arch/alpha/kernel/process.c
@@ -18,7 +18,7 @@
#include <linux/stddef.h>
#include <linux/unistd.h>
#include <linux/ptrace.h>
-#include <linux/malloc.h>
+#include <linux/slab.h>
#include <linux/user.h>
#include <linux/a.out.h>
#include <linux/utsname.h>
@@ -416,22 +416,20 @@ dump_fpu(struct pt_regs * regs, elf_fpregset_t *r)
* Don't do this at home.
*/
asmlinkage int
-sys_execve(unsigned long a0, unsigned long a1, unsigned long a2,
- unsigned long a3, unsigned long a4, unsigned long a5,
- struct pt_regs regs)
+sys_execve(char *ufilename, char **argv, char **envp,
+ unsigned long a3, unsigned long a4, unsigned long a5,
+ struct pt_regs regs)
{
int error;
- char * filename;
+ char *filename;
- lock_kernel();
- filename = getname((char *) a0);
+ filename = getname(ufilename);
error = PTR_ERR(filename);
if (IS_ERR(filename))
goto out;
- error = do_execve(filename, (char **) a1, (char **) a2, &regs);
+ error = do_execve(filename, argv, envp, &regs);
putname(filename);
out:
- unlock_kernel();
return error;
}