From: Al Viro Signed-off-by: Al Viro Signed-off-by: Andrew Morton --- arch/um/kernel/skas/process_kern.c | 4 ++-- arch/um/kernel/tt/exec_kern.c | 2 +- arch/um/kernel/tt/process_kern.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff -puN arch/um/kernel/skas/process_kern.c~uml-task_stack_page arch/um/kernel/skas/process_kern.c --- devel/arch/um/kernel/skas/process_kern.c~uml-task_stack_page 2006-01-04 22:02:14.000000000 -0800 +++ devel-akpm/arch/um/kernel/skas/process_kern.c 2006-01-04 22:02:14.000000000 -0800 @@ -119,7 +119,7 @@ int copy_thread_skas(int nr, unsigned lo handler = new_thread_handler; } - new_thread(p->thread_info, &p->thread.mode.skas.switch_buf, + new_thread(task_stack_page(p), &p->thread.mode.skas.switch_buf, &p->thread.mode.skas.fork_buf, handler); return(0); } @@ -186,7 +186,7 @@ int start_uml_skas(void) init_task.thread.request.u.thread.proc = start_kernel_proc; init_task.thread.request.u.thread.arg = NULL; - return(start_idle_thread(init_task.thread_info, + return(start_idle_thread(task_stack_page(&init_task), &init_task.thread.mode.skas.switch_buf, &init_task.thread.mode.skas.fork_buf)); } diff -puN arch/um/kernel/tt/exec_kern.c~uml-task_stack_page arch/um/kernel/tt/exec_kern.c --- devel/arch/um/kernel/tt/exec_kern.c~uml-task_stack_page 2006-01-04 22:02:14.000000000 -0800 +++ devel-akpm/arch/um/kernel/tt/exec_kern.c 2006-01-04 22:02:14.000000000 -0800 @@ -40,7 +40,7 @@ void flush_thread_tt(void) do_exit(SIGKILL); } - new_pid = start_fork_tramp(current->thread_info, stack, 0, exec_tramp); + new_pid = start_fork_tramp(task_stack_page(current), stack, 0, exec_tramp); if(new_pid < 0){ printk(KERN_ERR "flush_thread : new thread failed, errno = %d\n", diff -puN arch/um/kernel/tt/process_kern.c~uml-task_stack_page arch/um/kernel/tt/process_kern.c --- devel/arch/um/kernel/tt/process_kern.c~uml-task_stack_page 2006-01-04 22:02:14.000000000 -0800 +++ devel-akpm/arch/um/kernel/tt/process_kern.c 2006-01-04 22:02:14.000000000 -0800 @@ -254,7 +254,7 @@ int copy_thread_tt(int nr, unsigned long clone_flags &= CLONE_VM; p->thread.temp_stack = stack; - new_pid = start_fork_tramp(p->thread_info, stack, clone_flags, tramp); + new_pid = start_fork_tramp(task_stack_page(p), stack, clone_flags, tramp); if(new_pid < 0){ printk(KERN_ERR "copy_thread : clone failed - errno = %d\n", -new_pid); @@ -426,7 +426,7 @@ int start_uml_tt(void) int pages; pages = (1 << CONFIG_KERNEL_STACK_ORDER); - sp = (void *) ((unsigned long) init_task.thread_info) + + sp = task_stack_page(&init_task) + pages * PAGE_SIZE - sizeof(unsigned long); return(tracer(start_kernel_proc, sp)); } _