ext4: preserve SB_I_VERSION on remount
authorBaokun Li <libaokun1@huawei.com>
Thu, 3 Jul 2025 07:39:03 +0000 (15:39 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 13 Aug 2025 03:14:58 +0000 (23:14 -0400)
commitf2326fd14a224e4cccbab89e14c52279ff79b7ec
tree7e181303effad4df604f8240110b2ba736c23af8
parent6a912e8aa2b2fba2519e93a2eac197d16f137c9a
ext4: preserve SB_I_VERSION on remount

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 commit 1ff20307393e ("ext4: unconditionally enable the
i_version counter") removing the fix from commit 960e0ab63b2e ("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: 1ff20307393e ("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>
fs/ext4/super.c