diff --git a/[refs] b/[refs] index 91ad7cc7e4b1..6d7f27ea8377 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bc173f7092c76a7967f135c2b3a54052ad99733b +refs/heads/master: 931e80e4b3263db75c8e34f078d22f11bbabd3a3 diff --git a/trunk/fs/fuse/file.c b/trunk/fs/fuse/file.c index c18913a777ae..a9f5e137f1d3 100644 --- a/trunk/fs/fuse/file.c +++ b/trunk/fs/fuse/file.c @@ -828,6 +828,9 @@ static ssize_t fuse_fill_write_pages(struct fuse_req *req, if (!page) break; + if (mapping_writably_mapped(mapping)) + flush_dcache_page(page); + pagefault_disable(); tmp = iov_iter_copy_from_user_atomic(page, ii, offset, bytes); pagefault_enable(); diff --git a/trunk/mm/filemap.c b/trunk/mm/filemap.c index e3736923220e..698ea80f2102 100644 --- a/trunk/mm/filemap.c +++ b/trunk/mm/filemap.c @@ -2232,6 +2232,9 @@ static ssize_t generic_perform_write(struct file *file, if (unlikely(status)) break; + if (mapping_writably_mapped(mapping)) + flush_dcache_page(page); + pagefault_disable(); copied = iov_iter_copy_from_user_atomic(page, i, offset, bytes); pagefault_enable();