From: Kirill A. Shutemov Date: Thu, 14 Nov 2013 22:31:37 +0000 (-0800) Subject: parisc: handle pgtable_page_ctor() fail X-Git-Tag: v3.13-rc1~84^2~37 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bc16640dce9035177c99d8fb11d3b94abe9f36c8;p=platform%2Fkernel%2Flinux-exynos.git parisc: handle pgtable_page_ctor() fail Signed-off-by: Kirill A. Shutemov Cc: "James E.J. Bottomley" Cc: Helge Deller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/arch/parisc/include/asm/pgalloc.h b/arch/parisc/include/asm/pgalloc.h index fc987a1..f213f5b 100644 --- a/arch/parisc/include/asm/pgalloc.h +++ b/arch/parisc/include/asm/pgalloc.h @@ -121,8 +121,12 @@ static inline pgtable_t pte_alloc_one(struct mm_struct *mm, unsigned long address) { struct page *page = alloc_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO); - if (page) - pgtable_page_ctor(page); + if (!page) + return NULL; + if (!pgtable_page_ctor(page)) { + __free_page(page); + return NULL; + } return page; }