Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

score: handle pgtable_page_ctor() fail

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Chen Liqin <liqin.chen@sunplusct.com>
Acked-by: Lennox Wu <lennox.wu@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Kirill A. Shutemov and committed by
Linus Torvalds
96da3a62 e89cfa58

+6 -3
+6 -3
arch/score/include/asm/pgalloc.h
··· 54 54 struct page *pte; 55 55 56 56 pte = alloc_pages(GFP_KERNEL | __GFP_REPEAT, PTE_ORDER); 57 - if (pte) { 58 - clear_highpage(pte); 59 - pgtable_page_ctor(pte); 57 + if (!pte) 58 + return NULL; 59 + clear_highpage(pte); 60 + if (!pgtable_page_ctor(pte)) { 61 + __free_page(pte); 62 + return NULL; 60 63 } 61 64 return pte; 62 65 }