diff --git a/[refs] b/[refs] index 073291ed4b9f..bb15ff73abcb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 252c5f94d944487e9f50ece7942b0fbf659c5c31 +refs/heads/master: f8dbf0a7a4c5d98e8b70da9f7f4f6a89f3b7a7bb diff --git a/trunk/mm/mmap.c b/trunk/mm/mmap.c index b6d74b3dbbc2..1aeef6625e6a 100644 --- a/trunk/mm/mmap.c +++ b/trunk/mm/mmap.c @@ -1191,21 +1191,21 @@ unsigned long mmap_region(struct file *file, unsigned long addr, goto unmap_and_free_vma; if (vm_flags & VM_EXECUTABLE) added_exe_file_vma(mm); + + /* Can addr have changed?? + * + * Answer: Yes, several device drivers can do it in their + * f_op->mmap method. -DaveM + */ + addr = vma->vm_start; + pgoff = vma->vm_pgoff; + vm_flags = vma->vm_flags; } else if (vm_flags & VM_SHARED) { error = shmem_zero_setup(vma); if (error) goto free_vma; } - /* Can addr have changed?? - * - * Answer: Yes, several device drivers can do it in their - * f_op->mmap method. -DaveM - */ - addr = vma->vm_start; - pgoff = vma->vm_pgoff; - vm_flags = vma->vm_flags; - if (vma_wants_writenotify(vma)) vma->vm_page_prot = vm_get_page_prot(vm_flags & ~VM_SHARED);