[POWERPC] Fix return from pte_alloc_one() in out-of-memory case
authorAkinobu Mita <mita@fixstars.com>
Tue, 29 May 2007 10:46:51 +0000 (20:46 +1000)
committerPaul Mackerras <paulus@samba.org>
Sat, 2 Jun 2007 11:01:56 +0000 (21:01 +1000)
pte_alloc_one() is expected to return NULL if out of memory.
But it returns virt_to_page(NULL), which is not NULL.
This fixes it.

Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Akinobu Mita <mita@fixstars.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
include/asm-powerpc/pgalloc-64.h

index d9a3a8ca58a108ed0781e17ed9d80903a5176f7b..94d0294341d65a90006669e2a9bfd7851ab37452 100644 (file)
@@ -90,7 +90,8 @@ static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm,
 static inline struct page *pte_alloc_one(struct mm_struct *mm,
                                         unsigned long address)
 {
-       return virt_to_page(pte_alloc_one_kernel(mm, address));
+       pte_t *pte = pte_alloc_one_kernel(mm, address);
+       return pte ? virt_to_page(pte) : NULL;
 }
 
 static inline void pte_free_kernel(pte_t *pte)