diff --git a/kernel/fork.c b/kernel/fork.c index 2423d83..2184ef5 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -477,7 +477,7 @@ void mm_release(struct task_struct *tsk, struct mm_struct *mm) */ static struct mm_struct *dup_mm(struct task_struct *tsk) { - struct mm_struct *mm, *oldmm = current->mm; + struct mm_struct *mm, *oldmm = tsk->mm; int err; if (!oldmm) @@ -496,7 +496,7 @@ static struct mm_struct *dup_mm(struct task_struct *tsk) if (!mm_init(mm)) goto fail_nomem; - if (init_new_context(current, mm)) + if (init_new_context(tsk, mm)) goto fail_nocontext; err = dup_mmap(mm, oldmm); @@ -551,7 +551,7 @@ static int copy_mm(unsigned long clone_flags, struct task_struct * tsk) } retval = -ENOMEM; - mm = dup_mm(tsk); + mm = dup_mm(current); if (!mm) goto fail_nomem;