Merge 4.14.73 into android-4.14-p
[GitHub/LineageOS/android_kernel_motorola_exynos9610.git] / mm / shmem.c
index ea786a504e1b9c854a929e1b8cc4f8289fe983aa..c6d0c38816be1baf92a4f672e734cb7ca4dca06a 100644 (file)
@@ -4277,6 +4277,14 @@ struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags
 }
 EXPORT_SYMBOL_GPL(shmem_file_setup);
 
+void shmem_set_file(struct vm_area_struct *vma, struct file *file)
+{
+       if (vma->vm_file)
+               fput(vma->vm_file);
+       vma->vm_file = file;
+       vma->vm_ops = &shmem_vm_ops;
+}
+
 /**
  * shmem_zero_setup - setup a shared anonymous mapping
  * @vma: the vma to be mmapped is prepared by do_mmap_pgoff
@@ -4296,10 +4304,7 @@ int shmem_zero_setup(struct vm_area_struct *vma)
        if (IS_ERR(file))
                return PTR_ERR(file);
 
-       if (vma->vm_file)
-               fput(vma->vm_file);
-       vma->vm_file = file;
-       vma->vm_ops = &shmem_vm_ops;
+       shmem_set_file(vma, file);
 
        if (IS_ENABLED(CONFIG_TRANSPARENT_HUGE_PAGECACHE) &&
                        ((vma->vm_start + ~HPAGE_PMD_MASK) & HPAGE_PMD_MASK) <