From 76dd2a8f9e46dcc70d0c1ca3728bce9bbac86c64 Mon Sep 17 00:00:00 2001 From: Michael Ellerman Date: Tue, 8 Feb 2005 15:35:29 -0800 Subject: [PATCH] Fix oops in alloc_zeroed_user_highpage() when page is NULL The generic and IA-64 versions of alloc_zeroed_user_highpage() don't check the return value from alloc_page_vma(). This can lead to an oops if we're OOM. This fixes my oops on PPC64, but I haven't got an IA-64 machine/compiler handy. Signed-off-by: Michael Ellerman Signed-off-by: Linus Torvalds --- include/linux/highmem.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'include/linux/highmem.h') diff --git a/include/linux/highmem.h b/include/linux/highmem.h index 11d84c93af71..2a7e6c65c882 100644 --- a/include/linux/highmem.h +++ b/include/linux/highmem.h @@ -48,7 +48,9 @@ alloc_zeroed_user_highpage(struct vm_area_struct *vma, unsigned long vaddr) { struct page *page = alloc_page_vma(GFP_HIGHUSER, vma, vaddr); - clear_user_highpage(page, vaddr); + if (page) + clear_user_highpage(page, vaddr); + return page; } #endif -- cgit v1.2.3