patch-2.4.26 linux-2.4.26/mm/mremap.c
Next file: linux-2.4.26/mm/vmalloc.c
Previous file: linux-2.4.26/mm/filemap.c
Back to the patch index
Back to the overall index
- Lines: 20
- Date:
2004-04-14 06:05:41.000000000 -0700
- Orig file:
linux-2.4.25/mm/mremap.c
- Orig date:
2004-02-18 05:36:32.000000000 -0800
diff -urN linux-2.4.25/mm/mremap.c linux-2.4.26/mm/mremap.c
@@ -77,12 +77,16 @@
static int move_one_page(struct mm_struct *mm, unsigned long old_addr, unsigned long new_addr)
{
int error = 0;
- pte_t * src;
+ pte_t * src, * dst;
spin_lock(&mm->page_table_lock);
src = get_one_pte(mm, old_addr);
- if (src)
- error = copy_one_pte(mm, src, alloc_one_pte(mm, new_addr));
+ if (src) {
+ dst = alloc_one_pte(mm, new_addr);
+ src = get_one_pte(mm, old_addr);
+ if (src)
+ error = copy_one_pte(mm, src, dst);
+ }
spin_unlock(&mm->page_table_lock);
return error;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)