Commit deb521c4 authored by Linus Torvalds's avatar Linus Torvalds

remap_file_pages: correctly handle the case of a NULL vm_ops pointer

In commit 0b173bc4 ("mm: kill vma flag VM_CAN_NONLINEAR") we
replaced the VM_CAN_NONLINEAR test with checking whether the mapping has
a '->remap_pages()' vm operation, but there is no guarantee that there
it even has a vm_ops pointer at all.

Add the appropriate test for NULL vm_ops.
Reported-by: default avatarSasha Levin <levinsasha928@gmail.com>
Cc: Konstantin Khlebnikov <khlebnikov@openvz.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 17dbe27d
...@@ -169,7 +169,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, ...@@ -169,7 +169,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
if (vma->vm_private_data && !(vma->vm_flags & VM_NONLINEAR)) if (vma->vm_private_data && !(vma->vm_flags & VM_NONLINEAR))
goto out; goto out;
if (!vma->vm_ops->remap_pages) if (!vma->vm_ops || !vma->vm_ops->remap_pages)
goto out; goto out;
if (start < vma->vm_start || start + size > vma->vm_end) if (start < vma->vm_start || start + size > vma->vm_end)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment