diff options
author | David Woodhouse <dwmw2@shinybook.infradead.org> | 2005-07-02 08:39:09 -0400 |
---|---|---|
committer | David Woodhouse <dwmw2@shinybook.infradead.org> | 2005-07-02 08:39:09 -0400 |
commit | d2f6409584e2c62ffad81690562330ff3bf4a458 (patch) | |
tree | 3bdfb97d0b51be2f7f414f2107e97603c1206abb /arch/um/kernel/process_kern.c | |
parent | e1b09eba2686eca94a3a188042b518df6044a3c1 (diff) | |
parent | 4a89a04f1ee21a7c1f4413f1ad7dcfac50ff9b63 (diff) |
Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'arch/um/kernel/process_kern.c')
-rw-r--r-- | arch/um/kernel/process_kern.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/arch/um/kernel/process_kern.c b/arch/um/kernel/process_kern.c index 804c6bbdf67c..d4036ed680bc 100644 --- a/arch/um/kernel/process_kern.c +++ b/arch/um/kernel/process_kern.c | |||
@@ -8,6 +8,7 @@ | |||
8 | #include "linux/kernel.h" | 8 | #include "linux/kernel.h" |
9 | #include "linux/sched.h" | 9 | #include "linux/sched.h" |
10 | #include "linux/interrupt.h" | 10 | #include "linux/interrupt.h" |
11 | #include "linux/string.h" | ||
11 | #include "linux/mm.h" | 12 | #include "linux/mm.h" |
12 | #include "linux/slab.h" | 13 | #include "linux/slab.h" |
13 | #include "linux/utsname.h" | 14 | #include "linux/utsname.h" |
@@ -95,8 +96,8 @@ int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) | |||
95 | 96 | ||
96 | current->thread.request.u.thread.proc = fn; | 97 | current->thread.request.u.thread.proc = fn; |
97 | current->thread.request.u.thread.arg = arg; | 98 | current->thread.request.u.thread.arg = arg; |
98 | pid = do_fork(CLONE_VM | CLONE_UNTRACED | flags, 0, NULL, 0, NULL, | 99 | pid = do_fork(CLONE_VM | CLONE_UNTRACED | flags, 0, |
99 | NULL); | 100 | ¤t->thread.regs, 0, NULL, NULL); |
100 | if(pid < 0) | 101 | if(pid < 0) |
101 | panic("do_fork failed in kernel_thread, errno = %d", pid); | 102 | panic("do_fork failed in kernel_thread, errno = %d", pid); |
102 | return(pid); | 103 | return(pid); |
@@ -168,7 +169,7 @@ int current_pid(void) | |||
168 | 169 | ||
169 | void default_idle(void) | 170 | void default_idle(void) |
170 | { | 171 | { |
171 | uml_idle_timer(); | 172 | CHOOSE_MODE(uml_idle_timer(), (void) 0); |
172 | 173 | ||
173 | atomic_inc(&init_mm.mm_count); | 174 | atomic_inc(&init_mm.mm_count); |
174 | current->mm = &init_mm; | 175 | current->mm = &init_mm; |
@@ -322,12 +323,7 @@ void do_uml_exitcalls(void) | |||
322 | 323 | ||
323 | char *uml_strdup(char *string) | 324 | char *uml_strdup(char *string) |
324 | { | 325 | { |
325 | char *new; | 326 | return kstrdup(string, GFP_KERNEL); |
326 | |||
327 | new = kmalloc(strlen(string) + 1, GFP_KERNEL); | ||
328 | if(new == NULL) return(NULL); | ||
329 | strcpy(new, string); | ||
330 | return(new); | ||
331 | } | 327 | } |
332 | 328 | ||
333 | int copy_to_user_proc(void __user *to, void *from, int size) | 329 | int copy_to_user_proc(void __user *to, void *from, int size) |