From: Theodore Ts'o Subject: [PATCH] ext4: check error return from ext4_write_inline_data_end() Date: Thu, 20 Jun 2013 10:52:23 -0400 Message-ID: <1371739943-31176-1-git-send-email-tytso@mit.edu> References: <20130620144421.GC28309@thunk.org> Cc: jonernst07@gmx.com, Theodore Ts'o , Zheng Liu , stable@vger.kernel.org To: Ext4 Developers List Return-path: In-Reply-To: <20130620144421.GC28309@thunk.org> Sender: stable-owner@vger.kernel.org List-Id: linux-ext4.vger.kernel.org The function ext4_write_inline_data_end() can return an error. So we need to assign it to a signed integer variable to check for an error return (since copied is an unsigned int). Signed-off-by: "Theodore Ts'o" Cc: Zheng Liu Cc: stable@vger.kernel.org --- fs/ext4/inode.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index baf5c2b..567a734 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -1061,10 +1061,13 @@ static int ext4_write_end(struct file *file, } } - if (ext4_has_inline_data(inode)) - copied = ext4_write_inline_data_end(inode, pos, len, - copied, page); - else + if (ext4_has_inline_data(inode)) { + ret = ext4_write_inline_data_end(inode, pos, len, + copied, page); + if (ret < 0) + goto errout; + copied = ret; + } else copied = block_write_end(file, mapping, pos, len, copied, page, fsdata); -- 1.7.12.rc0.22.gcdd159b