From: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Date: Thu, 14 Nov 2013 22:31:33 +0000 (-0800)
Subject: m32r: handle pgtable_page_ctor() fail
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=7251ab6b86179f195b3f4b56d57ce9dc7a725409;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git

m32r: handle pgtable_page_ctor() fail

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---

diff --git a/arch/m32r/include/asm/pgalloc.h b/arch/m32r/include/asm/pgalloc.h
index ac4208bcc5ad..2d55a064ccac 100644
--- a/arch/m32r/include/asm/pgalloc.h
+++ b/arch/m32r/include/asm/pgalloc.h
@@ -45,7 +45,10 @@ static __inline__ pgtable_t pte_alloc_one(struct mm_struct *mm,
 
 	if (!pte)
 		return NULL;
-	pgtable_page_ctor(pte);
+	if (!pgtable_page_ctor(pte)) {
+		__free_page(pte);
+		return NULL;
+	}
 	return pte;
 }