mmap: check ->vm_ops before dereferencing
Check whether the VMA has a vm_ops before calling close, just like we check vm_ops before calling open a few dozen lines higher up in the function. Signed-off-by: Rik van Riel <riel@redhat.com> Reported-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
a231a1f271
commit
5892753383
|
@ -1977,7 +1977,8 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* Clean everything up if vma_adjust failed. */
|
/* Clean everything up if vma_adjust failed. */
|
||||||
new->vm_ops->close(new);
|
if (new->vm_ops && new->vm_ops->close)
|
||||||
|
new->vm_ops->close(new);
|
||||||
if (new->vm_file) {
|
if (new->vm_file) {
|
||||||
if (vma->vm_flags & VM_EXECUTABLE)
|
if (vma->vm_flags & VM_EXECUTABLE)
|
||||||
removed_exe_file_vma(mm);
|
removed_exe_file_vma(mm);
|
||||||
|
|
Loading…
Reference in New Issue