diff options
author | Kirill A. Shutemov <kirill.shutemov@linux.intel.com> | 2013-11-14 17:31:19 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-14 19:32:15 -0500 |
commit | f8c6d30b766fc8eb83f5b7983ff8a5a9b3189365 (patch) | |
tree | bdad7b5f1c1014550936bc5617f8789a51e3cd52 | |
parent | fecf3743b824ce4eb275ed4a1d6aee9494f6a966 (diff) |
xtensa: fix potential NULL-pointer dereference
Add missing check for memory allocation fail.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Chris Zankel <chris@zankel.net>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | arch/xtensa/include/asm/pgalloc.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/xtensa/include/asm/pgalloc.h b/arch/xtensa/include/asm/pgalloc.h index cf914c8c249a..037671a655dc 100644 --- a/arch/xtensa/include/asm/pgalloc.h +++ b/arch/xtensa/include/asm/pgalloc.h | |||
@@ -51,9 +51,13 @@ static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm, | |||
51 | static inline pgtable_t pte_alloc_one(struct mm_struct *mm, | 51 | static inline pgtable_t pte_alloc_one(struct mm_struct *mm, |
52 | unsigned long addr) | 52 | unsigned long addr) |
53 | { | 53 | { |
54 | pte_t *pte; | ||
54 | struct page *page; | 55 | struct page *page; |
55 | 56 | ||
56 | page = virt_to_page(pte_alloc_one_kernel(mm, addr)); | 57 | pte = pte_alloc_one_kernel(mm, addr); |
58 | if (!pte) | ||
59 | return NULL; | ||
60 | page = virt_to_page(pte); | ||
57 | pgtable_page_ctor(page); | 61 | pgtable_page_ctor(page); |
58 | return page; | 62 | return page; |
59 | } | 63 | } |