aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/fork.c2
-rw-r--r--kernel/sched/core.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/kernel/fork.c b/kernel/fork.c
index f71b67dc156d..242c8c93d285 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -595,6 +595,8 @@ static void check_mm(struct mm_struct *mm)
595void __mmdrop(struct mm_struct *mm) 595void __mmdrop(struct mm_struct *mm)
596{ 596{
597 BUG_ON(mm == &init_mm); 597 BUG_ON(mm == &init_mm);
598 WARN_ON_ONCE(mm == current->mm);
599 WARN_ON_ONCE(mm == current->active_mm);
598 mm_free_pgd(mm); 600 mm_free_pgd(mm);
599 destroy_context(mm); 601 destroy_context(mm);
600 hmm_mm_destroy(mm); 602 hmm_mm_destroy(mm);
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 28b68995a417..e8afd6086f23 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -5560,6 +5560,7 @@ void idle_task_exit(void)
5560 5560
5561 if (mm != &init_mm) { 5561 if (mm != &init_mm) {
5562 switch_mm(mm, &init_mm, current); 5562 switch_mm(mm, &init_mm, current);
5563 current->active_mm = &init_mm;
5563 finish_arch_post_lock_switch(); 5564 finish_arch_post_lock_switch();
5564 } 5565 }
5565 mmdrop(mm); 5566 mmdrop(mm);