aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-01-09 17:20:09 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-01-09 17:20:09 -0800
commitaafeed4acb2307b07383ed70e781c091cccf3ddd (patch)
tree907cc24f50789fc40de63a9921286efd60a65263 /mm
parent72bd4e564ad30acdb43767eb5555032b14cb0195 (diff)
downloadhistory-aafeed4acb2307b07383ed70e781c091cccf3ddd.tar.gz
Don't use __GFP_CLEAR for user pages.
It doesn't do the virtual cache synchronization that clear_user_highpage() does. Pointed out by Hugh Dickins.
Diffstat (limited to 'mm')
-rw-r--r--mm/memory.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/mm/memory.c b/mm/memory.c
index 9e7f1ca3aa9511..31451af257dd25 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1795,9 +1795,10 @@ do_anonymous_page(struct mm_struct *mm, struct vm_area_struct *vma,
if (unlikely(anon_vma_prepare(vma)))
goto no_mem;
- page = alloc_page_vma(GFP_HIGHZERO, vma, addr);
+ page = alloc_page_vma(GFP_HIGHUSER, vma, addr);
if (!page)
goto no_mem;
+ clear_user_highpage(page, addr);
spin_lock(&mm->page_table_lock);
page_table = pte_offset_map(pmd, addr);