[PATCH] ext4: fix incorrect type issue during replay_del_range

Xin Yin posted 1 patch 4 years, 5 months ago
fs/ext4/fast_commit.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
[PATCH] ext4: fix incorrect type issue during replay_del_range
Posted by Xin Yin 4 years, 5 months ago
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")
Signed-off-by: Xin Yin <yinxin.x@bytedance.com>
---
 fs/ext4/fast_commit.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c
index ccd2b216d6ba..488347b4c8b0 100644
--- a/fs/ext4/fast_commit.c
+++ b/fs/ext4/fast_commit.c
@@ -1798,8 +1798,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) {
 		iput(inode);
-- 
2.25.1

Re: [PATCH] ext4: fix incorrect type issue during replay_del_range
Posted by Ritesh Harjani 4 years, 5 months ago
On 22/01/26 02:31PM, Xin Yin wrote:
> 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")
> Signed-off-by: Xin Yin <yinxin.x@bytedance.com>

Yes, a required change indeed.
Since the patch marked as fixes was cc'd to stable, so this might be requird as
well.

Reviewed-by: Ritesh Harjani <riteshh@linux.ibm.com>

> ---
>  fs/ext4/fast_commit.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c
> index ccd2b216d6ba..488347b4c8b0 100644
> --- a/fs/ext4/fast_commit.c
> +++ b/fs/ext4/fast_commit.c
> @@ -1798,8 +1798,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) {
>  		iput(inode);
> --
> 2.25.1
>
Re: [PATCH] ext4: fix incorrect type issue during replay_del_range
Posted by Theodore Ts'o 4 years, 5 months ago
On Wed, 26 Jan 2022 14:31:46 +0800, Xin Yin wrote:
> should not use fast commit log data directly, add le32_to_cpu().
> 
> 

Applied, thanks!

[1/1] ext4: fix incorrect type issue during replay_del_range
      commit: 3f6a7abe77c1cbe125e2f743568c810470d66e7d

Best regards,
-- 
Theodore Ts'o <tytso@mit.edu>