aboutsummaryrefslogtreecommitdiffstats
path: root/arch/score/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/score/kernel')
-rw-r--r--arch/score/kernel/sys_score.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/score/kernel/sys_score.c b/arch/score/kernel/sys_score.c
index 651096ff8db4..e478bf9a7e91 100644
--- a/arch/score/kernel/sys_score.c
+++ b/arch/score/kernel/sys_score.c
@@ -99,8 +99,10 @@ score_execve(struct pt_regs *regs)
99 if (IS_ERR(filename)) 99 if (IS_ERR(filename))
100 return error; 100 return error;
101 101
102 error = do_execve(filename, (char __user *__user*)regs->regs[5], 102 error = do_execve(filename,
103 (char __user *__user *) regs->regs[6], regs); 103 (const char __user *const __user *)regs->regs[5],
104 (const char __user *const __user *)regs->regs[6],
105 regs);
104 106
105 putname(filename); 107 putname(filename);
106 return error; 108 return error;
@@ -110,7 +112,9 @@ score_execve(struct pt_regs *regs)
110 * Do a system call from kernel instead of calling sys_execve so we 112 * Do a system call from kernel instead of calling sys_execve so we
111 * end up with proper pt_regs. 113 * end up with proper pt_regs.
112 */ 114 */
113int kernel_execve(const char *filename, char *const argv[], char *const envp[]) 115int kernel_execve(const char *filename,
116 const char *const argv[],
117 const char *const envp[])
114{ 118{
115 register unsigned long __r4 asm("r4") = (unsigned long) filename; 119 register unsigned long __r4 asm("r4") = (unsigned long) filename;
116 register unsigned long __r5 asm("r5") = (unsigned long) argv; 120 register unsigned long __r5 asm("r5") = (unsigned long) argv;