diff --git a/fs/buffer.c b/fs/buffer.c index 71649ef..b2652aa 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -2008,6 +2008,7 @@ static int __block_prepare_write(struct clear_buffer_new(bh); kaddr = kmap_atomic(page, KM_USER0); memset(kaddr+block_start, 0, bh->b_size); + flush_dcache_page(page); kunmap_atomic(kaddr, KM_USER0); set_buffer_uptodate(bh); mark_buffer_dirty(bh); @@ -2514,6 +2515,7 @@ failed: */ kaddr = kmap_atomic(page, KM_USER0); memset(kaddr, 0, PAGE_CACHE_SIZE); + flush_dcache_page(page); kunmap_atomic(kaddr, KM_USER0); SetPageUptodate(page); set_page_dirty(page);