udf: Use i_size_read() in udf_adinicb_writepage()
authorJan Kara <jack@suse.cz>
Tue, 13 Jun 2017 14:08:52 +0000 (16:08 +0200)
committerJan Kara <jack@suse.cz>
Wed, 14 Jun 2017 09:21:01 +0000 (11:21 +0200)
We don't hold inode_lock in udf_adinicb_writepage() so use i_size_read()
to get i_size. This cannot cause real problems is i_size is guaranteed
to be small but let's be careful.

Signed-off-by: Jan Kara <jack@suse.cz>
fs/udf/file.c

index e06d2c1..356c2bf 100644 (file)
@@ -76,7 +76,8 @@ static int udf_adinicb_writepage(struct page *page,
        BUG_ON(!PageLocked(page));
 
        kaddr = kmap_atomic(page);
-       memcpy(iinfo->i_ext.i_data + iinfo->i_lenEAttr, kaddr, inode->i_size);
+       memcpy(iinfo->i_ext.i_data + iinfo->i_lenEAttr, kaddr,
+               i_size_read(inode));
        SetPageUptodate(page);
        kunmap_atomic(kaddr);
        mark_inode_dirty(inode);