patch-2.4.4 linux/mm/mremap.c
Next file: linux/mm/page_alloc.c
Previous file: linux/mm/mmap.c
Back to the patch index
Back to the overall index
- Lines: 16
- Date:
Fri Apr 13 15:17:21 2001
- Orig file:
v2.4.3/linux/mm/mremap.c
- Orig date:
Mon Mar 19 17:17:43 2001
diff -u --recursive --new-file v2.4.3/linux/mm/mremap.c linux/mm/mremap.c
@@ -276,8 +276,13 @@
ret = -ENOMEM;
if (flags & MREMAP_MAYMOVE) {
if (!(flags & MREMAP_FIXED)) {
- new_addr = get_unmapped_area(0, new_len);
- if (!new_addr)
+ unsigned long map_flags = 0;
+ if (vma->vm_flags & VM_SHARED)
+ map_flags |= MAP_SHARED;
+
+ new_addr = get_unmapped_area(vma->vm_file, 0, new_len, vma->vm_pgoff, map_flags);
+ ret = new_addr;
+ if (new_addr & ~PAGE_MASK)
goto out;
}
ret = move_vma(vma, addr, old_len, new_len, new_addr);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)