]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - mm/fremap.c
mm/fremap.c: fix oops on error path
[karo-tx-linux.git] / mm / fremap.c
index 0cd4c11488edf8c8fd33346e9b94e28fb3272aa1..6a8da7ee85fd58e7d0857a185239ef6af57a61d8 100644 (file)
@@ -163,7 +163,8 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
         * and that the remapped range is valid and fully within
         * the single existing vma.
         */
-       if (!vma || !(vma->vm_flags & VM_SHARED))
+       vm_flags = vma->vm_flags;
+       if (!vma || !(vm_flags & VM_SHARED))
                goto out;
 
        if (!vma->vm_ops || !vma->vm_ops->remap_pages)
@@ -254,7 +255,8 @@ get_write_lock:
         */
 
 out:
-       vm_flags = vma->vm_flags;
+       if (vma)
+               vm_flags = vma->vm_flags;
        if (likely(!has_write_lock))
                up_read(&mm->mmap_sem);
        else