diff --git a/mm/filemap.c b/mm/filemap.c
index 4ad7d36e71c4f01ff45f9062e0ffec5c45d39c21..1d5d3fcf4b6bd2bcab66de28c5a91f0dfb52d2a2 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -2161,6 +2161,7 @@ generic_file_write_nolock(struct file *file, const struct iovec *iov,
 			break;
 		}
 		page_fault = filemap_copy_from_user(page, offset, buf, bytes);
+		flush_dcache_page(page);
 		status = a_ops->commit_write(file, page, offset, offset+bytes);
 		if (unlikely(page_fault)) {
 			status = -EFAULT;