mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-10-22 23:13:01 +02:00
ext4: preserve SB_I_VERSION on remount
[ Upstream commit f2326fd14a224e4cccbab89e14c52279ff79b7ec ] IMA testing revealed that after an ext4 remount, file accesses triggered full measurements even without modifications, instead of skipping as expected when i_version is unchanged. Debugging showed `SB_I_VERSION` was cleared in reconfigure_super() during remount due to commit1ff2030739
("ext4: unconditionally enable the i_version counter") removing the fix from commit960e0ab63b
("ext4: fix i_version handling on remount"). To rectify this, `SB_I_VERSION` is always set for `fc->sb_flags` in ext4_init_fs_context(), instead of `sb->s_flags` in __ext4_fill_super(), ensuring it persists across all mounts. Cc: stable@kernel.org Fixes:1ff2030739
("ext4: unconditionally enable the i_version counter") Signed-off-by: Baokun Li <libaokun1@huawei.com> Reviewed-by: Jan Kara <jack@suse.cz> Link: https://patch.msgid.link/20250703073903.6952-2-libaokun@huaweicloud.com Signed-off-by: Theodore Ts'o <tytso@mit.edu> [ Adjust context ] Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
047b4cb30e
commit
342f7a1dda
|
@ -2028,6 +2028,9 @@ int ext4_init_fs_context(struct fs_context *fc)
|
|||
fc->fs_private = ctx;
|
||||
fc->ops = &ext4_context_ops;
|
||||
|
||||
/* i_version is always enabled now */
|
||||
fc->sb_flags |= SB_I_VERSION;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -5305,9 +5308,6 @@ static int __ext4_fill_super(struct fs_context *fc, struct super_block *sb)
|
|||
sb->s_flags = (sb->s_flags & ~SB_POSIXACL) |
|
||||
(test_opt(sb, POSIX_ACL) ? SB_POSIXACL : 0);
|
||||
|
||||
/* i_version is always enabled now */
|
||||
sb->s_flags |= SB_I_VERSION;
|
||||
|
||||
err = ext4_check_feature_compatibility(sb, es, silent);
|
||||
if (err)
|
||||
goto failed_mount;
|
||||
|
|
Loading…
Reference in New Issue
Block a user