fix pgoff in "have to relocate" case of mremap() Acked-by: Hugh Dickins <hugh.dickins@tiscali.co.uk> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
diff --git a/mm/mremap.c b/mm/mremap.c index 84efffb..bbbbbf5 100644 --- a/mm/mremap.c +++ b/mm/mremap.c
@@ -495,7 +495,9 @@ 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;