firmware/br-ext-chip-allwinner/board/v83x/kernel/patches/00000-mm_shmem.c.patch

31 lines
899 B
Diff

diff -drupN a/mm/shmem.c b/mm/shmem.c
--- a/mm/shmem.c 2018-08-06 17:23:04.000000000 +0300
+++ b/mm/shmem.c 2022-06-12 05:28:14.000000000 +0300
@@ -4076,6 +4076,14 @@ struct file *shmem_file_setup(const char
}
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
@@ -4095,10 +4103,7 @@ int shmem_zero_setup(struct vm_area_stru
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) <