浏览代码

udf: Use i_size_read() in udf_adinicb_writepage()

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>
Jan Kara 8 年之前
父节点
当前提交
146c4ad6ec
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      fs/udf/file.c

+ 2 - 1
fs/udf/file.c

@@ -76,7 +76,8 @@ static int udf_adinicb_writepage(struct page *page,
 	BUG_ON(!PageLocked(page));
 	BUG_ON(!PageLocked(page));
 
 
 	kaddr = kmap_atomic(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);
 	SetPageUptodate(page);
 	kunmap_atomic(kaddr);
 	kunmap_atomic(kaddr);
 	mark_inode_dirty(inode);
 	mark_inode_dirty(inode);