[RFC PATCH v5 05/10] ovl: mark overlayfs' inode dirty on shared mmap

From: Chengguang Xu
Date: Thu Sep 23 2021 - 09:24:21 EST


Overlayfs cannot be notified when mmapped area gets dirty,
so we need to proactively mark inode dirty in ->mmap operation.

Signed-off-by: Chengguang Xu <cgxu519@xxxxxxxxxxxx>
---
fs/overlayfs/file.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/fs/overlayfs/file.c b/fs/overlayfs/file.c
index d081faa55e83..f9dc5249c183 100644
--- a/fs/overlayfs/file.c
+++ b/fs/overlayfs/file.c
@@ -482,6 +482,12 @@ static int ovl_mmap(struct file *file, struct vm_area_struct *vma)
revert_creds(old_cred);
ovl_file_accessed(file);

+ if (!ret) {
+ if (ovl_inode_upper(file_inode(file)) &&
+ vma->vm_flags & VM_SHARED)
+ ovl_mark_inode_dirty(file_inode(file));
+ }
+
return ret;
}

--
2.27.0