瀏覽代碼

ext4: use consistent ssize_t type in ext4_file_write()

The generic_file_aio_write() function returns ssize_t, and
ext4_file_write() returns a ssize_t, so use a ssize_t to collect the
return value from generic_file_aio_write().  It shouldn't matter since
the VFS read/write paths shouldn't allow a read greater than MAX_INT,
but there was previously a bug in the AIO code paths, and it's best if
we use a consistent type so that the return value from
generic_file_aio_write() can't get truncated.

Reported-by: Jouni Siren <jouni.siren@iki.fi>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Zheng Liu 13 年之前
父節點
當前提交
8563000d3b
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      fs/ext4/file.c

+ 1 - 1
fs/ext4/file.c

@@ -95,7 +95,7 @@ ext4_file_write(struct kiocb *iocb, const struct iovec *iov,
 {
 {
 	struct inode *inode = iocb->ki_filp->f_path.dentry->d_inode;
 	struct inode *inode = iocb->ki_filp->f_path.dentry->d_inode;
 	int unaligned_aio = 0;
 	int unaligned_aio = 0;
-	int ret;
+	ssize_t ret;
 
 
 	/*
 	/*
 	 * If we have encountered a bitmap-format file, the size limit
 	 * If we have encountered a bitmap-format file, the size limit