From: Linus Torvalds Date: Fri, 23 Nov 2007 20:26:26 +0000 (-0500) Subject: Import 2.3.12pre5 X-Git-Tag: 2.3.12pre5 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=c59591e10e574f7f6d109a098d1ca54645111b54;p=history.git Import 2.3.12pre5 --- diff --git a/kernel/exit.c b/kernel/exit.c index d95a32f65a76..ed15c604d766 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -266,9 +266,12 @@ static inline void __exit_mm(struct task_struct * tsk) struct mm_struct * mm = tsk->mm; if (mm) { + atomic_inc(&init_mm.mm_count); mm_release(); - atomic_inc(&mm->mm_count); + if (mm != tsk->active_mm) BUG(); tsk->mm = NULL; + tsk->active_mm = &init_mm; + switch_mm(mm, &init_mm); mmput(mm); } }