diff options
| -rw-r--r-- | fs/fuse/file.c | 3 | ||||
| -rw-r--r-- | mm/filemap.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/fs/fuse/file.c b/fs/fuse/file.c index c18913a777ae..a9f5e137f1d3 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c | |||
| @@ -828,6 +828,9 @@ static ssize_t fuse_fill_write_pages(struct fuse_req *req, | |||
| 828 | if (!page) | 828 | if (!page) |
| 829 | break; | 829 | break; |
| 830 | 830 | ||
| 831 | if (mapping_writably_mapped(mapping)) | ||
| 832 | flush_dcache_page(page); | ||
| 833 | |||
| 831 | pagefault_disable(); | 834 | pagefault_disable(); |
| 832 | tmp = iov_iter_copy_from_user_atomic(page, ii, offset, bytes); | 835 | tmp = iov_iter_copy_from_user_atomic(page, ii, offset, bytes); |
| 833 | pagefault_enable(); | 836 | pagefault_enable(); |
diff --git a/mm/filemap.c b/mm/filemap.c index e3736923220e..698ea80f2102 100644 --- a/mm/filemap.c +++ b/mm/filemap.c | |||
| @@ -2232,6 +2232,9 @@ again: | |||
| 2232 | if (unlikely(status)) | 2232 | if (unlikely(status)) |
| 2233 | break; | 2233 | break; |
| 2234 | 2234 | ||
| 2235 | if (mapping_writably_mapped(mapping)) | ||
| 2236 | flush_dcache_page(page); | ||
| 2237 | |||
| 2235 | pagefault_disable(); | 2238 | pagefault_disable(); |
| 2236 | copied = iov_iter_copy_from_user_atomic(page, i, offset, bytes); | 2239 | copied = iov_iter_copy_from_user_atomic(page, i, offset, bytes); |
| 2237 | pagefault_enable(); | 2240 | pagefault_enable(); |
