ext4: set error return correctly when ext4_htree_store_dirent fails
authorColin Ian King <colin.king@canonical.com>
Mon, 12 Aug 2019 18:29:38 +0000 (14:29 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Jan 2020 13:51:03 +0000 (14:51 +0100)
[ Upstream commit 7a14826ede1d714f0bb56de8167c0e519041eeda ]

Currently when the call to ext4_htree_store_dirent fails the error return
variable 'ret' is is not being set to the error code and variable count is
instead, hence the error code is not being returned.  Fix this by assigning
ret to the error return code.

Addresses-Coverity: ("Unused value")
Fixes: 8af0f0822797 ("ext4: fix readdir error in the case of inline_data+dir_index")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/ext4/inline.c

index 56f6e17..4572cb0 100644 (file)
@@ -1419,7 +1419,7 @@ int htree_inlinedir_to_tree(struct file *dir_file,
                err = ext4_htree_store_dirent(dir_file, hinfo->hash,
                                              hinfo->minor_hash, de, &tmp_str);
                if (err) {
-                       count = err;
+                       ret = err;
                        goto out;
                }
                count++;