This simply assigns the vm_ops so is easily updated - do so.

Reviewed-by: Baolin Wang <baolin.w...@linux.alibaba.com>
Reviewed-by: David Hildenbrand <da...@redhat.com>
Signed-off-by: Lorenzo Stoakes <lorenzo.stoa...@oracle.com>
---
 mm/shmem.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/mm/shmem.c b/mm/shmem.c
index 45e7733d6612..990e33c6a776 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -2938,16 +2938,17 @@ int shmem_lock(struct file *file, int lock, struct 
ucounts *ucounts)
        return retval;
 }
 
-static int shmem_mmap(struct file *file, struct vm_area_struct *vma)
+static int shmem_mmap_prepare(struct vm_area_desc *desc)
 {
+       struct file *file = desc->file;
        struct inode *inode = file_inode(file);
 
        file_accessed(file);
        /* This is anonymous shared memory if it is unlinked at the time of 
mmap */
        if (inode->i_nlink)
-               vma->vm_ops = &shmem_vm_ops;
+               desc->vm_ops = &shmem_vm_ops;
        else
-               vma->vm_ops = &shmem_anon_vm_ops;
+               desc->vm_ops = &shmem_anon_vm_ops;
        return 0;
 }
 
@@ -5217,7 +5218,7 @@ static const struct address_space_operations shmem_aops = 
{
 };
 
 static const struct file_operations shmem_file_operations = {
-       .mmap           = shmem_mmap,
+       .mmap_prepare   = shmem_mmap_prepare,
        .open           = shmem_file_open,
        .get_unmapped_area = shmem_get_unmapped_area,
 #ifdef CONFIG_TMPFS
-- 
2.51.0


Reply via email to