|
@@ -231,11 +231,8 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
|
|
might_sleep();
|
|
might_sleep();
|
|
if (vma->vm_ops && vma->vm_ops->close)
|
|
if (vma->vm_ops && vma->vm_ops->close)
|
|
vma->vm_ops->close(vma);
|
|
vma->vm_ops->close(vma);
|
|
- if (vma->vm_file) {
|
|
|
|
|
|
+ if (vma->vm_file)
|
|
fput(vma->vm_file);
|
|
fput(vma->vm_file);
|
|
- if (vma->vm_flags & VM_EXECUTABLE)
|
|
|
|
- removed_exe_file_vma(vma->vm_mm);
|
|
|
|
- }
|
|
|
|
mpol_put(vma_policy(vma));
|
|
mpol_put(vma_policy(vma));
|
|
kmem_cache_free(vm_area_cachep, vma);
|
|
kmem_cache_free(vm_area_cachep, vma);
|
|
return next;
|
|
return next;
|
|
@@ -636,8 +633,6 @@ again: remove_next = 1 + (end > next->vm_end);
|
|
if (file) {
|
|
if (file) {
|
|
uprobe_munmap(next, next->vm_start, next->vm_end);
|
|
uprobe_munmap(next, next->vm_start, next->vm_end);
|
|
fput(file);
|
|
fput(file);
|
|
- if (next->vm_flags & VM_EXECUTABLE)
|
|
|
|
- removed_exe_file_vma(mm);
|
|
|
|
}
|
|
}
|
|
if (next->anon_vma)
|
|
if (next->anon_vma)
|
|
anon_vma_merge(vma, next);
|
|
anon_vma_merge(vma, next);
|
|
@@ -1304,8 +1299,6 @@ munmap_back:
|
|
error = file->f_op->mmap(file, vma);
|
|
error = file->f_op->mmap(file, vma);
|
|
if (error)
|
|
if (error)
|
|
goto unmap_and_free_vma;
|
|
goto unmap_and_free_vma;
|
|
- if (vm_flags & VM_EXECUTABLE)
|
|
|
|
- added_exe_file_vma(mm);
|
|
|
|
|
|
|
|
/* Can addr have changed??
|
|
/* Can addr have changed??
|
|
*
|
|
*
|
|
@@ -1987,11 +1980,8 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
|
|
if (anon_vma_clone(new, vma))
|
|
if (anon_vma_clone(new, vma))
|
|
goto out_free_mpol;
|
|
goto out_free_mpol;
|
|
|
|
|
|
- if (new->vm_file) {
|
|
|
|
|
|
+ if (new->vm_file)
|
|
get_file(new->vm_file);
|
|
get_file(new->vm_file);
|
|
- if (vma->vm_flags & VM_EXECUTABLE)
|
|
|
|
- added_exe_file_vma(mm);
|
|
|
|
- }
|
|
|
|
|
|
|
|
if (new->vm_ops && new->vm_ops->open)
|
|
if (new->vm_ops && new->vm_ops->open)
|
|
new->vm_ops->open(new);
|
|
new->vm_ops->open(new);
|
|
@@ -2009,11 +1999,8 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
|
|
/* Clean everything up if vma_adjust failed. */
|
|
/* Clean everything up if vma_adjust failed. */
|
|
if (new->vm_ops && new->vm_ops->close)
|
|
if (new->vm_ops && new->vm_ops->close)
|
|
new->vm_ops->close(new);
|
|
new->vm_ops->close(new);
|
|
- if (new->vm_file) {
|
|
|
|
- if (vma->vm_flags & VM_EXECUTABLE)
|
|
|
|
- removed_exe_file_vma(mm);
|
|
|
|
|
|
+ if (new->vm_file)
|
|
fput(new->vm_file);
|
|
fput(new->vm_file);
|
|
- }
|
|
|
|
unlink_anon_vmas(new);
|
|
unlink_anon_vmas(new);
|
|
out_free_mpol:
|
|
out_free_mpol:
|
|
mpol_put(pol);
|
|
mpol_put(pol);
|
|
@@ -2408,12 +2395,8 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
|
|
new_vma->vm_start = addr;
|
|
new_vma->vm_start = addr;
|
|
new_vma->vm_end = addr + len;
|
|
new_vma->vm_end = addr + len;
|
|
new_vma->vm_pgoff = pgoff;
|
|
new_vma->vm_pgoff = pgoff;
|
|
- if (new_vma->vm_file) {
|
|
|
|
|
|
+ if (new_vma->vm_file)
|
|
get_file(new_vma->vm_file);
|
|
get_file(new_vma->vm_file);
|
|
-
|
|
|
|
- if (vma->vm_flags & VM_EXECUTABLE)
|
|
|
|
- added_exe_file_vma(mm);
|
|
|
|
- }
|
|
|
|
if (new_vma->vm_ops && new_vma->vm_ops->open)
|
|
if (new_vma->vm_ops && new_vma->vm_ops->open)
|
|
new_vma->vm_ops->open(new_vma);
|
|
new_vma->vm_ops->open(new_vma);
|
|
vma_link(mm, new_vma, prev, rb_link, rb_parent);
|
|
vma_link(mm, new_vma, prev, rb_link, rb_parent);
|