summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAkinobu Mita <mita@fixstars.com>2007-05-29 14:46:51 +0400
committerPaul Mackerras <paulus@samba.org>2007-06-02 15:01:56 +0400
commita4c28ab7445f5ca60e56ffd90edb3e9fc1330b71 (patch)
treed7ccd52c688f014c320a55c1b6fa512424b147f3 /include
parent66b30922c8a2c880fe61080c5bf87ae6615b9f64 (diff)
downloadlinux-a4c28ab7445f5ca60e56ffd90edb3e9fc1330b71.tar.xz
[POWERPC] Fix return from pte_alloc_one() in out-of-memory case
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>
Diffstat (limited to 'include')
-rw-r--r--include/asm-powerpc/pgalloc-64.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/asm-powerpc/pgalloc-64.h b/include/asm-powerpc/pgalloc-64.h
index d9a3a8ca58a1..94d0294341d6 100644
--- a/include/asm-powerpc/pgalloc-64.h
+++ b/include/asm-powerpc/pgalloc-64.h
@@ -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)