]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/sparc/mm/srmmu.c
sparc: handle pgtable_page_ctor() fail
[karo-tx-linux.git] / arch / sparc / mm / srmmu.c
index 5d721df48a72d10dfe56095e0a8cf67d258fd7f9..869023abe5a4440c3ec08777e987c7abcc9777b8 100644 (file)
@@ -345,7 +345,10 @@ pgtable_t pte_alloc_one(struct mm_struct *mm, unsigned long address)
        if ((pte = (unsigned long)pte_alloc_one_kernel(mm, address)) == 0)
                return NULL;
        page = pfn_to_page(__nocache_pa(pte) >> PAGE_SHIFT);
-       pgtable_page_ctor(page);
+       if (!pgtable_page_ctor(page)) {
+               __free_page(page);
+               return NULL;
+       }
        return page;
 }