[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>
This commit is contained in:
@@ -118,7 +118,7 @@ int copy_thread_skas(int nr, unsigned long clone_flags, unsigned long sp,
|
|||||||
handler = new_thread_handler;
|
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);
|
&p->thread.mode.skas.fork_buf, handler);
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
@@ -185,7 +185,7 @@ int start_uml_skas(void)
|
|||||||
|
|
||||||
init_task.thread.request.u.thread.proc = start_kernel_proc;
|
init_task.thread.request.u.thread.proc = start_kernel_proc;
|
||||||
init_task.thread.request.u.thread.arg = NULL;
|
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.switch_buf,
|
||||||
&init_task.thread.mode.skas.fork_buf));
|
&init_task.thread.mode.skas.fork_buf));
|
||||||
}
|
}
|
||||||
|
@@ -39,7 +39,7 @@ void flush_thread_tt(void)
|
|||||||
do_exit(SIGKILL);
|
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){
|
if(new_pid < 0){
|
||||||
printk(KERN_ERR
|
printk(KERN_ERR
|
||||||
"flush_thread : new thread failed, errno = %d\n",
|
"flush_thread : new thread failed, errno = %d\n",
|
||||||
|
@@ -253,7 +253,7 @@ int copy_thread_tt(int nr, unsigned long clone_flags, unsigned long sp,
|
|||||||
|
|
||||||
clone_flags &= CLONE_VM;
|
clone_flags &= CLONE_VM;
|
||||||
p->thread.temp_stack = stack;
|
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){
|
if(new_pid < 0){
|
||||||
printk(KERN_ERR "copy_thread : clone failed - errno = %d\n",
|
printk(KERN_ERR "copy_thread : clone failed - errno = %d\n",
|
||||||
-new_pid);
|
-new_pid);
|
||||||
@@ -425,7 +425,7 @@ int start_uml_tt(void)
|
|||||||
int pages;
|
int pages;
|
||||||
|
|
||||||
pages = (1 << CONFIG_KERNEL_STACK_ORDER);
|
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);
|
pages * PAGE_SIZE - sizeof(unsigned long);
|
||||||
return(tracer(start_kernel_proc, sp));
|
return(tracer(start_kernel_proc, sp));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user