fs: Do to trim high file position bits in iomap_page_mkwrite_actor
authorJan Kara <jack@suse.cz>
Mon, 24 Oct 2016 03:20:25 +0000 (14:20 +1100)
committerDave Chinner <david@fromorbit.com>
Mon, 24 Oct 2016 03:20:25 +0000 (14:20 +1100)
commitc663e29f8885269c1608b5aa6057729fa9267b35
treefffb106bd365d9f74d14ef9519edbf265e9f228a
parent64e6428ddd00f864e3ca105f914a2b6920c2bc41
fs: Do to trim high file position bits in iomap_page_mkwrite_actor

iomap_page_mkwrite_actor() calls __block_write_begin_int() with position
masked as pos & ~PAGE_MASK which is equivalent to pos & (PAGE_SIZE-1).
Thus it masks off high bits of file position. However
__block_write_begin_int() expects full file position on input. This does
not cause any visible issues because all __block_write_begin_int()
really cares about are low file position bits but still it is a bug
waiting to happen.

Signed-off-by: Jan Kara <jack@suse.cz>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/iomap.c