|
@@ -495,7 +495,9 @@ unsigned long do_mremap(unsigned long addr,
|
|
|
map_flags |= MAP_SHARED;
|
|
|
|
|
|
new_addr = get_unmapped_area(vma->vm_file, 0, new_len,
|
|
|
- vma->vm_pgoff, map_flags);
|
|
|
+ vma->vm_pgoff +
|
|
|
+ ((addr - vma->vm_start) >> PAGE_SHIFT),
|
|
|
+ map_flags);
|
|
|
if (new_addr & ~PAGE_MASK) {
|
|
|
ret = new_addr;
|
|
|
goto out;
|