diff options
author | Akinobu Mita <mita@fixstars.com> | 2007-05-29 06:46:51 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-06-02 07:01:56 -0400 |
commit | a4c28ab7445f5ca60e56ffd90edb3e9fc1330b71 (patch) | |
tree | d7ccd52c688f014c320a55c1b6fa512424b147f3 | |
parent | 66b30922c8a2c880fe61080c5bf87ae6615b9f64 (diff) |
[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>
-rw-r--r-- | include/asm-powerpc/pgalloc-64.h | 3 |
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, | |||
90 | static inline struct page *pte_alloc_one(struct mm_struct *mm, | 90 | static inline struct page *pte_alloc_one(struct mm_struct *mm, |
91 | unsigned long address) | 91 | unsigned long address) |
92 | { | 92 | { |
93 | return virt_to_page(pte_alloc_one_kernel(mm, address)); | 93 | pte_t *pte = pte_alloc_one_kernel(mm, address); |
94 | return pte ? virt_to_page(pte) : NULL; | ||
94 | } | 95 | } |
95 | 96 | ||
96 | static inline void pte_free_kernel(pte_t *pte) | 97 | static inline void pte_free_kernel(pte_t *pte) |