Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8c581651 authored by Monakhov Dmitriy's avatar Monakhov Dmitriy Committed by Linus Torvalds
Browse files

[PATCH] D-cache aliasing issue in __block_prepare_write



A couple of flush_dcache_page()s are missing on the I/O-error paths.

Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 97e860d3
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1854,6 +1854,7 @@ static int __block_prepare_write(struct inode *inode, struct page *page,
			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);
@@ -2360,6 +2361,7 @@ int nobh_prepare_write(struct page *page, unsigned from, unsigned to,
	 */
	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);