ext4: fix error return code in ext4_fc_perform_commit()
authorXu Yihang <xuyihang@huawei.com>
Thu, 8 Apr 2021 07:00:33 +0000 (15:00 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 May 2021 12:47:38 +0000 (14:47 +0200)
commit e1262cd2e68a0870fb9fc95eb202d22e8f0074b7 upstream.

In case of if not ext4_fc_add_tlv branch, an error return code is missing.

Cc: stable@kernel.org
Fixes: aa75f4d3daae ("ext4: main fast-commit commit path")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Xu Yihang <xuyihang@huawei.com>
Reviewed-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com>
Link: https://lore.kernel.org/r/20210408070033.123047-1-xuyihang@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/ext4/fast_commit.c

index 4008a67..4a0411b 100644 (file)
@@ -1032,8 +1032,10 @@ static int ext4_fc_perform_commit(journal_t *journal)
                head.fc_tid = cpu_to_le32(
                        sbi->s_journal->j_running_transaction->t_tid);
                if (!ext4_fc_add_tlv(sb, EXT4_FC_TAG_HEAD, sizeof(head),
-                       (u8 *)&head, &crc))
+                       (u8 *)&head, &crc)) {
+                       ret = -ENOSPC;
                        goto out;
+               }
        }
 
        spin_lock(&sbi->s_fc_lock);