diff options
Diffstat (limited to 'arch/arm64/include/asm/pgalloc.h')
| -rw-r--r-- | arch/arm64/include/asm/pgalloc.h | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/arm64/include/asm/pgalloc.h b/arch/arm64/include/asm/pgalloc.h index f214069ec5d..9bea6e74a00 100644 --- a/arch/arm64/include/asm/pgalloc.h +++ b/arch/arm64/include/asm/pgalloc.h @@ -63,9 +63,12 @@ pte_alloc_one(struct mm_struct *mm, unsigned long addr)  	struct page *pte;  	pte = alloc_pages(PGALLOC_GFP, 0); -	if (pte) -		pgtable_page_ctor(pte); - +	if (!pte) +		return NULL; +	if (!pgtable_page_ctor(pte)) { +		__free_page(pte); +		return NULL; +	}  	return pte;  }  | 
