[PATCH] uml: task_stack_page()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by Al Viro and committed by Linus Torvalds 579b3ea5 ca9bc0bb

+5 -5
+2 -2
arch/um/kernel/skas/process_kern.c
··· 118 handler = new_thread_handler; 119 } 120 121 - new_thread(p->thread_info, &p->thread.mode.skas.switch_buf, 122 &p->thread.mode.skas.fork_buf, handler); 123 return(0); 124 } ··· 185 186 init_task.thread.request.u.thread.proc = start_kernel_proc; 187 init_task.thread.request.u.thread.arg = NULL; 188 - return(start_idle_thread(init_task.thread_info, 189 &init_task.thread.mode.skas.switch_buf, 190 &init_task.thread.mode.skas.fork_buf)); 191 }
··· 118 handler = new_thread_handler; 119 } 120 121 + new_thread(task_stack_page(p), &p->thread.mode.skas.switch_buf, 122 &p->thread.mode.skas.fork_buf, handler); 123 return(0); 124 } ··· 185 186 init_task.thread.request.u.thread.proc = start_kernel_proc; 187 init_task.thread.request.u.thread.arg = NULL; 188 + return(start_idle_thread(task_stack_page(&init_task), 189 &init_task.thread.mode.skas.switch_buf, 190 &init_task.thread.mode.skas.fork_buf)); 191 }
+1 -1
arch/um/kernel/tt/exec_kern.c
··· 39 do_exit(SIGKILL); 40 } 41 42 - new_pid = start_fork_tramp(current->thread_info, stack, 0, exec_tramp); 43 if(new_pid < 0){ 44 printk(KERN_ERR 45 "flush_thread : new thread failed, errno = %d\n",
··· 39 do_exit(SIGKILL); 40 } 41 42 + new_pid = start_fork_tramp(task_stack_page(current), stack, 0, exec_tramp); 43 if(new_pid < 0){ 44 printk(KERN_ERR 45 "flush_thread : new thread failed, errno = %d\n",
+2 -2
arch/um/kernel/tt/process_kern.c
··· 253 254 clone_flags &= CLONE_VM; 255 p->thread.temp_stack = stack; 256 - new_pid = start_fork_tramp(p->thread_info, stack, clone_flags, tramp); 257 if(new_pid < 0){ 258 printk(KERN_ERR "copy_thread : clone failed - errno = %d\n", 259 -new_pid); ··· 425 int pages; 426 427 pages = (1 << CONFIG_KERNEL_STACK_ORDER); 428 - sp = (void *) ((unsigned long) init_task.thread_info) + 429 pages * PAGE_SIZE - sizeof(unsigned long); 430 return(tracer(start_kernel_proc, sp)); 431 }
··· 253 254 clone_flags &= CLONE_VM; 255 p->thread.temp_stack = stack; 256 + new_pid = start_fork_tramp(task_stack_page(p), stack, clone_flags, tramp); 257 if(new_pid < 0){ 258 printk(KERN_ERR "copy_thread : clone failed - errno = %d\n", 259 -new_pid); ··· 425 int pages; 426 427 pages = (1 << CONFIG_KERNEL_STACK_ORDER); 428 + sp = task_stack_page(&init_task) + 429 pages * PAGE_SIZE - sizeof(unsigned long); 430 return(tracer(start_kernel_proc, sp)); 431 }