ext4: fix zeroing of page during writeback
authorJan Kara <jack@suse.cz>
Tue, 27 May 2014 16:48:55 +0000 (12:48 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 27 May 2014 16:48:55 +0000 (12:48 -0400)
commiteeece469dedadf3918bad50ad80f4616a0064e90
treebe76156b8f8a52bddd90614989d2659cc7368024
parentaa13d5f67c6f5f7718bd9e9b51ce8255f0535d54
ext4: fix zeroing of page during writeback

Tail of a page straddling inode size must be zeroed when being written
out due to POSIX requirement that modifications of mmaped page beyond
inode size must not be written to the file. ext4_bio_write_page() did
this only for blocks fully beyond inode size but didn't properly zero
blocks partially beyond inode size. Fix this.

The problem has been uncovered by mmap_11-4 test in openposix test suite
(part of LTP).

Reported-by: Xiaoguang Wang <wangxg.fnst@cn.fujitsu.com>
Fixes: 5a0dc7365c240
Fixes: bd2d0210cf22f
CC: stable@vger.kernel.org
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/page-io.c