On Mon, Dec 30, 2024 at 03:27:45PM +0800, Baokun Li wrote:
Maybe, if so, please send the needed info to the stable list with theDescriptionSince 6.1 and 5.15 don't have backport
===========
In the Linux kernel, the following vulnerability has been resolved:
ext4: don't set SB_RDONLY after filesystem errors
When the filesystem is mounted with errors=remount-ro, we were setting
SB_RDONLY flag to stop all filesystem modifications. We knew this misses
proper locking (sb->s_umount) and does not go through proper filesystem
remount procedure but it has been the way this worked since early ext2
days and it was good enough for catastrophic situation damage
mitigation. Recently, syzbot has found a way (see link) to trigger
warnings in filesystem freezing because the code got confused by
SB_RDONLY changing under its hands. Since these days we set
EXT4_FLAGS_SHUTDOWN on the superblock which is enough to stop all
filesystem modifications, modifying SB_RDONLY shouldn't be needed. So
stop doing that.
The Linux kernel CVE team has assigned CVE-2024-50191 to this issue.
Affected and fixed versions
===========================
Fixed in 5.15.168 with commit fbb177bc1d64
Fixed in 6.1.113 with commit 4061e07f040a
commit 95257987a638 ("ext4: drop EXT4_MF_FS_ABORTED flag"),
we won't set the EXT4_FLAGS_SHUTDOWN bit in ext4_handle_error() yet. So
here these two commits cause us to repeatedly get the following printout:
[ 42.993195] EXT4-fs error (device sda): ext4_journal_check_start:83: comm
fsstress: Detected aborted journal
[ 42.993351] EXT4-fs error (device sda): ext4_journal_check_start:83: comm
fsstress: Detected aborted journal
[ 42.993483] EXT4-fs error (device sda): ext4_journal_check_start:83: comm
fsstress: Detected aborted journal
[ 42.993597] EXT4-fs error (device sda): ext4_journal_check_start:83: comm
fsstress: Detected aborted journal
[ 42.993638] EXT4-fs error (device sda): ext4_journal_check_start:83: comm
fsstress: Detected aborted journal
[ 42.993718] EXT4-fs error (device sda): ext4_journal_check_start:83: comm
fsstress: Detected aborted journal
[ 42.993866] EXT4-fs error (device sda): ext4_journal_check_start:83: comm
fsstress: Detected aborted journal
[ 42.993874] EXT4-fs error (device sda): ext4_journal_check_start:83: comm
fsstress: Detected aborted journal
[ 42.993874] EXT4-fs error (device sda) in __ext4_new_inode:1089: Journal
has aborted
[ 42.994059] EXT4-fs error (device sda): ext4_journal_check_start:83: comm
fsstress: Detected aborted journal
[ 42.999893] EXT4-fs: 58002 callbacks suppressed
[ 42.999895] EXT4-fs (sda): Remounting filesystem read-only
[ 43.000110] EXT4-fs (sda): Remounting filesystem read-only
[ 43.000274] EXT4-fs (sda): Remounting filesystem read-only
[ 43.000421] EXT4-fs (sda): Remounting filesystem read-only
[ 43.000569] EXT4-fs (sda): Remounting filesystem read-only
[ 43.000701] EXT4-fs (sda): Remounting filesystem read-only
[ 43.000869] EXT4-fs (sda): Remounting filesystem read-only
[ 43.001094] EXT4-fs (sda): Remounting filesystem read-only
[ 43.001229] EXT4-fs (sda): Remounting filesystem read-only
[ 43.001365] EXT4-fs (sda): Remounting filesystem read-only
Perhaps we should revert both commits.
backports that have been tested. cve@xxxxxxxxxx isn't the place for
this :)