If vma is shared and the file was opened for writing, we should also create writeback fid because vma may be mprotected writable even if now readonly.
Signed-off-by: Chengguang Xu <cgxu...@mykernel.net> --- Caveat: Only compile tested. fs/9p/vfs_file.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c index b177fd3b1eb3..791839c2dd5c 100644 --- a/fs/9p/vfs_file.c +++ b/fs/9p/vfs_file.c @@ -516,8 +516,7 @@ v9fs_mmap_file_mmap(struct file *filp, struct vm_area_struct *vma) v9inode = V9FS_I(inode); mutex_lock(&v9inode->v_mutex); if (!v9inode->writeback_fid && - (vma->vm_flags & VM_SHARED) && - (vma->vm_flags & VM_WRITE)) { + mapping_writably_mapped(filp->f_mapping)) { /* * clone a fid and add it to writeback_fid * we do it during mmap instead of -- 2.26.2