From: Jan Kara Date: Mon, 23 Nov 2009 12:24:48 +0000 (-0500) Subject: ext4: fix error handling in ext4_ind_get_blocks() X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2bba702d4f88d7b010ec37e2527b552588404ae7;p=firefly-linux-kernel-4.4.55.git ext4: fix error handling in ext4_ind_get_blocks() When an error happened in ext4_splice_branch we failed to notice that in ext4_ind_get_blocks and mapped the buffer anyway. Fix the problem by checking for error properly. Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org --- diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 0c0ddc1401e4..3673ec7b1c98 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -1022,7 +1022,7 @@ static int ext4_ind_get_blocks(handle_t *handle, struct inode *inode, if (!err) err = ext4_splice_branch(handle, inode, iblock, partial, indirect_blks, count); - else + if (err) goto cleanup; set_buffer_new(bh_result);