]> git.karo-electronics.de Git - linux-beck.git/blobdiff - arch/unicore32/mm/pgd.c
mm: fix false-positive warning on exit due mm_nr_pmds(mm)
[linux-beck.git] / arch / unicore32 / mm / pgd.c
index 08b8d4295e70037877ae80dd273f50c23b756075..2ade20d8eab3965d749e2c44d475cc931b52a3c3 100644 (file)
@@ -69,6 +69,7 @@ pgd_t *get_pgd_slow(struct mm_struct *mm)
 
 no_pte:
        pmd_free(mm, new_pmd);
+       mm_dec_nr_pmds(mm);
 no_pmd:
        free_pages((unsigned long)new_pgd, 0);
 no_pgd:
@@ -96,7 +97,9 @@ void free_pgd_slow(struct mm_struct *mm, pgd_t *pgd)
        pte = pmd_pgtable(*pmd);
        pmd_clear(pmd);
        pte_free(mm, pte);
+       atomic_long_dec(&mm->nr_ptes);
        pmd_free(mm, pmd);
+       mm_dec_nr_pmds(mm);
 free:
        free_pages((unsigned long) pgd, 0);
 }