summaryrefslogtreecommitdiff
path: root/mm/mremap.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@starflyer.(none)>2005-10-20 08:21:33 (GMT)
committerDave Airlie <airlied@linux.ie>2005-10-20 08:21:33 (GMT)
commit312f5726055534be1dc9dd369be13aabd2943fcb (patch)
tree29394a3f83b4952a73b36a4aa962dfeda839e9db /mm/mremap.c
parent3d5efad953c6d5ba11d5bcb584ef8e906f953a73 (diff)
parent93918e9afc76717176e9e114e79cdbb602a45ae8 (diff)
downloadlinux-312f5726055534be1dc9dd369be13aabd2943fcb.tar.xz
merge Linus head tree into my drm tree and fix up conflicts
Diffstat (limited to 'mm/mremap.c')
-rw-r--r--mm/mremap.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/mm/mremap.c b/mm/mremap.c
index a32fed4..f343fc7 100644
--- a/mm/mremap.c
+++ b/mm/mremap.c
@@ -141,10 +141,10 @@ move_one_page(struct vm_area_struct *vma, unsigned long old_addr,
if (dst) {
pte_t pte;
pte = ptep_clear_flush(vma, old_addr, src);
+
/* ZERO_PAGE can be dependant on virtual addr */
- if (pfn_valid(pte_pfn(pte)) &&
- pte_page(pte) == ZERO_PAGE(old_addr))
- pte = pte_wrprotect(mk_pte(ZERO_PAGE(new_addr), new_vma->vm_page_prot));
+ pte = move_pte(pte, new_vma->vm_page_prot,
+ old_addr, new_addr);
set_pte_at(mm, new_addr, dst, pte);
} else
error = -ENOMEM;