mm: do not use mm->nr_pmds on !MMU configurations
[deliverable/linux.git] / kernel / fork.c
index b379d9abddc74c866f78eeca130f21239f5bea1e..cf65139615a0d38e3fef37ee3a6e2e270c01ccaf 100644 (file)
@@ -555,6 +555,7 @@ static struct mm_struct *mm_init(struct mm_struct *mm, struct task_struct *p)
        INIT_LIST_HEAD(&mm->mmlist);
        mm->core_state = NULL;
        atomic_long_set(&mm->nr_ptes, 0);
+       mm_nr_pmds_init(mm);
        mm->map_count = 0;
        mm->locked_vm = 0;
        mm->pinned_vm = 0;
@@ -603,6 +604,14 @@ static void check_mm(struct mm_struct *mm)
                        printk(KERN_ALERT "BUG: Bad rss-counter state "
                                          "mm:%p idx:%d val:%ld\n", mm, i, x);
        }
+
+       if (atomic_long_read(&mm->nr_ptes))
+               pr_alert("BUG: non-zero nr_ptes on freeing mm: %ld\n",
+                               atomic_long_read(&mm->nr_ptes));
+       if (mm_nr_pmds(mm))
+               pr_alert("BUG: non-zero nr_pmds on freeing mm: %ld\n",
+                               mm_nr_pmds(mm));
+
 #if defined(CONFIG_TRANSPARENT_HUGEPAGE) && !USE_SPLIT_PMD_PTLOCKS
        VM_BUG_ON_MM(mm->pmd_huge_pte, mm);
 #endif
This page took 0.030559 seconds and 5 git commands to generate.