diff options
Diffstat (limited to 'arch/mips/kernel/syscall.c')
| -rw-r--r-- | arch/mips/kernel/syscall.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c index bddce0bca195..1dc6edff45e0 100644 --- a/arch/mips/kernel/syscall.c +++ b/arch/mips/kernel/syscall.c | |||
| @@ -258,8 +258,10 @@ asmlinkage int sys_execve(nabi_no_regargs struct pt_regs regs) | |||
| 258 | error = PTR_ERR(filename); | 258 | error = PTR_ERR(filename); |
| 259 | if (IS_ERR(filename)) | 259 | if (IS_ERR(filename)) |
| 260 | goto out; | 260 | goto out; |
| 261 | error = do_execve(filename, (char __user *__user *) (long)regs.regs[5], | 261 | error = do_execve(filename, |
| 262 | (char __user *__user *) (long)regs.regs[6], ®s); | 262 | (const char __user *const __user *) (long)regs.regs[5], |
| 263 | (const char __user *const __user *) (long)regs.regs[6], | ||
| 264 | ®s); | ||
| 263 | putname(filename); | 265 | putname(filename); |
| 264 | 266 | ||
| 265 | out: | 267 | out: |
| @@ -436,7 +438,9 @@ asmlinkage void bad_stack(void) | |||
| 436 | * Do a system call from kernel instead of calling sys_execve so we | 438 | * Do a system call from kernel instead of calling sys_execve so we |
| 437 | * end up with proper pt_regs. | 439 | * end up with proper pt_regs. |
| 438 | */ | 440 | */ |
| 439 | int kernel_execve(const char *filename, char *const argv[], char *const envp[]) | 441 | int kernel_execve(const char *filename, |
| 442 | const char *const argv[], | ||
| 443 | const char *const envp[]) | ||
| 440 | { | 444 | { |
| 441 | register unsigned long __a0 asm("$4") = (unsigned long) filename; | 445 | register unsigned long __a0 asm("$4") = (unsigned long) filename; |
| 442 | register unsigned long __a1 asm("$5") = (unsigned long) argv; | 446 | register unsigned long __a1 asm("$5") = (unsigned long) argv; |
