mm: account pmd page tables to the process
[cascardo/linux.git] / mm / mmap.c
index 14d8466..6a7d36d 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -2853,7 +2853,9 @@ void exit_mmap(struct mm_struct *mm)
        vm_unacct_memory(nr_accounted);
 
        WARN_ON(atomic_long_read(&mm->nr_ptes) >
-                       (FIRST_USER_ADDRESS+PMD_SIZE-1)>>PMD_SHIFT);
+                       round_up(FIRST_USER_ADDRESS, PMD_SIZE) >> PMD_SHIFT);
+       WARN_ON(mm_nr_pmds(mm) >
+                       round_up(FIRST_USER_ADDRESS, PUD_SIZE) >> PUD_SHIFT);
 }
 
 /* Insert vm structure into process list sorted by address