summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin Yin <yinxin.x@bytedance.com>2022-01-26 09:31:46 +0300
committerTheodore Ts'o <tytso@mit.edu>2022-02-03 18:57:53 +0300
commit8fca8a2b0a822f7936130af7299d2fd7f0a66714 (patch)
tree41e378c252e411ebaf3d4eadd3aeeb906596a02b
parent715a67f11d6755e0cc853ff4ef539f362b566096 (diff)
downloadlinux-8fca8a2b0a822f7936130af7299d2fd7f0a66714.tar.xz
ext4: fix incorrect type issue during replay_del_range
should not use fast commit log data directly, add le32_to_cpu(). Reported-by: kernel test robot <lkp@intel.com> Fixes: 0b5b5a62b945 ("ext4: use ext4_ext_remove_space() for fast commit replay delete range") Cc: stable@kernel.org Signed-off-by: Xin Yin <yinxin.x@bytedance.com> Reviewed-by: Ritesh Harjani <riteshh@linux.ibm.com> Link: https://lore.kernel.org/r/20220126063146.2302-1-yinxin.x@bytedance.com Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-rw-r--r--fs/ext4/fast_commit.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c
index 5934c23e153e..7964ee34e322 100644
--- a/fs/ext4/fast_commit.c
+++ b/fs/ext4/fast_commit.c
@@ -1794,8 +1794,9 @@ ext4_fc_replay_del_range(struct super_block *sb, struct ext4_fc_tl *tl,
}
down_write(&EXT4_I(inode)->i_data_sem);
- ret = ext4_ext_remove_space(inode, lrange.fc_lblk,
- lrange.fc_lblk + lrange.fc_len - 1);
+ ret = ext4_ext_remove_space(inode, le32_to_cpu(lrange.fc_lblk),
+ le32_to_cpu(lrange.fc_lblk) +
+ le32_to_cpu(lrange.fc_len) - 1);
up_write(&EXT4_I(inode)->i_data_sem);
if (ret)
goto out;