flagday: don't pass regs to copy_thread()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -141,14 +141,14 @@ asmlinkage int bfin_clone(unsigned long clone_flags, unsigned long newsp)
|
||||
int
|
||||
copy_thread(unsigned long clone_flags,
|
||||
unsigned long usp, unsigned long topstk,
|
||||
struct task_struct *p, struct pt_regs *regs)
|
||||
struct task_struct *p)
|
||||
{
|
||||
struct pt_regs *childregs;
|
||||
unsigned long *v;
|
||||
|
||||
childregs = (struct pt_regs *) (task_stack_page(p) + THREAD_SIZE) - 1;
|
||||
v = ((unsigned long *)childregs) - 2;
|
||||
if (unlikely(!regs)) {
|
||||
if (unlikely(p->flags & PF_KTHREAD)) {
|
||||
memset(childregs, 0, sizeof(struct pt_regs));
|
||||
v[0] = usp;
|
||||
v[1] = topstk;
|
||||
@@ -157,7 +157,7 @@ copy_thread(unsigned long clone_flags,
|
||||
__asm__ __volatile__("%0 = syscfg;":"=da"(childregs->syscfg):);
|
||||
p->thread.usp = 0;
|
||||
} else {
|
||||
*childregs = *regs;
|
||||
*childregs = *current_pt_regs();
|
||||
childregs->r0 = 0;
|
||||
p->thread.usp = usp ? : rdusp();
|
||||
v[0] = v[1] = 0;
|
||||
|
||||
Reference in New Issue
Block a user