diff options
Diffstat (limited to 'arch/parisc/include/asm/pgalloc.h')
| -rw-r--r-- | arch/parisc/include/asm/pgalloc.h | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/parisc/include/asm/pgalloc.h b/arch/parisc/include/asm/pgalloc.h index fc987a1c12a..f213f5b4c42 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;  }  | 
