diff options
Diffstat (limited to 'arch/m68k/kernel/process.c')
-rw-r--r-- | arch/m68k/kernel/process.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/m68k/kernel/process.c b/arch/m68k/kernel/process.c index 45a46646c1b3..99fc1226f7f8 100644 --- a/arch/m68k/kernel/process.c +++ b/arch/m68k/kernel/process.c | |||
@@ -187,6 +187,7 @@ int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) | |||
187 | set_fs (fs); | 187 | set_fs (fs); |
188 | return pid; | 188 | return pid; |
189 | } | 189 | } |
190 | EXPORT_SYMBOL(kernel_thread); | ||
190 | 191 | ||
191 | void flush_thread(void) | 192 | void flush_thread(void) |
192 | { | 193 | { |
@@ -221,13 +222,13 @@ asmlinkage int m68k_clone(struct pt_regs *regs) | |||
221 | { | 222 | { |
222 | unsigned long clone_flags; | 223 | unsigned long clone_flags; |
223 | unsigned long newsp; | 224 | unsigned long newsp; |
224 | int *parent_tidptr, *child_tidptr; | 225 | int __user *parent_tidptr, *child_tidptr; |
225 | 226 | ||
226 | /* syscall2 puts clone_flags in d1 and usp in d2 */ | 227 | /* syscall2 puts clone_flags in d1 and usp in d2 */ |
227 | clone_flags = regs->d1; | 228 | clone_flags = regs->d1; |
228 | newsp = regs->d2; | 229 | newsp = regs->d2; |
229 | parent_tidptr = (int *)regs->d3; | 230 | parent_tidptr = (int __user *)regs->d3; |
230 | child_tidptr = (int *)regs->d4; | 231 | child_tidptr = (int __user *)regs->d4; |
231 | if (!newsp) | 232 | if (!newsp) |
232 | newsp = rdusp(); | 233 | newsp = rdusp(); |
233 | return do_fork(clone_flags, newsp, regs, 0, | 234 | return do_fork(clone_flags, newsp, regs, 0, |
@@ -311,6 +312,7 @@ int dump_fpu (struct pt_regs *regs, struct user_m68kfp_struct *fpu) | |||
311 | : "memory"); | 312 | : "memory"); |
312 | return 1; | 313 | return 1; |
313 | } | 314 | } |
315 | EXPORT_SYMBOL(dump_fpu); | ||
314 | 316 | ||
315 | /* | 317 | /* |
316 | * fill in the user structure for a core dump.. | 318 | * fill in the user structure for a core dump.. |
@@ -357,11 +359,12 @@ void dump_thread(struct pt_regs * regs, struct user * dump) | |||
357 | /* dump floating point stuff */ | 359 | /* dump floating point stuff */ |
358 | dump->u_fpvalid = dump_fpu (regs, &dump->m68kfp); | 360 | dump->u_fpvalid = dump_fpu (regs, &dump->m68kfp); |
359 | } | 361 | } |
362 | EXPORT_SYMBOL(dump_thread); | ||
360 | 363 | ||
361 | /* | 364 | /* |
362 | * sys_execve() executes a new program. | 365 | * sys_execve() executes a new program. |
363 | */ | 366 | */ |
364 | asmlinkage int sys_execve(char *name, char **argv, char **envp) | 367 | asmlinkage int sys_execve(char __user *name, char __user * __user *argv, char __user * __user *envp) |
365 | { | 368 | { |
366 | int error; | 369 | int error; |
367 | char * filename; | 370 | char * filename; |