diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-01-09 17:20:09 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-01-09 17:20:09 -0800 |
commit | aafeed4acb2307b07383ed70e781c091cccf3ddd (patch) | |
tree | 907cc24f50789fc40de63a9921286efd60a65263 /mm | |
parent | 72bd4e564ad30acdb43767eb5555032b14cb0195 (diff) | |
download | history-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.c | 3 |
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); |