| From 8fca8a2b0a822f7936130af7299d2fd7f0a66714 Mon Sep 17 00:00:00 2001 |
| From: Xin Yin <yinxin.x@bytedance.com> |
| Date: Wed, 26 Jan 2022 14:31:46 +0800 |
| Subject: ext4: fix incorrect type issue during replay_del_range |
| |
| From: Xin Yin <yinxin.x@bytedance.com> |
| |
| commit 8fca8a2b0a822f7936130af7299d2fd7f0a66714 upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| fs/ext4/fast_commit.c | 5 +++-- |
| 1 file changed, 3 insertions(+), 2 deletions(-) |
| |
| --- a/fs/ext4/fast_commit.c |
| +++ b/fs/ext4/fast_commit.c |
| @@ -1771,8 +1771,9 @@ ext4_fc_replay_del_range(struct super_bl |
| } |
| |
| 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; |