Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a2dfef69 authored by David Gibson's avatar David Gibson Committed by Linus Torvalds
Browse files

[PATCH] Hugepages need clear_user_highpage() not clear_highpage()



When hugepages are newly allocated to a file in mm/hugetlb.c, we clear them
with a call to clear_highpage() on each of the subpages.  We should be
using clear_user_highpage(): on powerpc, at least, clear_highpage() doesn't
correctly mark the page as icache dirty so if the page is executed shortly
after it's possible to get strange results.

Signed-off-by: default avatarDavid Gibson <dwg@au1.ibm.com>
Acked-by: default avatarWilliam Lee Irwin III <wli@holomorphy.com>
Cc: <stable@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 488fc08d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -107,7 +107,7 @@ struct page *alloc_huge_page(struct vm_area_struct *vma, unsigned long addr)
	set_page_count(page, 1);
	page[1].mapping = (void *)free_huge_page;
	for (i = 0; i < (HPAGE_SIZE/PAGE_SIZE); ++i)
		clear_highpage(&page[i]);
		clear_user_highpage(&page[i], addr);
	return page;
}