[RFC PATCH] 9p: create writeback fid on shared mmap

From: Chengguang Xu
Date: Sat Dec 05 2020 - 16:07:59 EST


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 <cgxu519@xxxxxxxxxxxx>
---
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