CVE-2024-42149

fs: don't misleadingly warn during thaw operations

published July 30, 2024

CVSS
—
EPSS
0%
Percentile
7.5
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

fs: don't misleadingly warn during thaw operations

The block device may have been frozen before it was claimed by a

filesystem. Concurrently another process might try to mount that

frozen block device and has temporarily claimed the block device for

that purpose causing a concurrent fs_bdev_thaw() to end up here. The

mounter is already about to abort mounting because they still saw an

elevanted bdev->bd_fsfreeze_count so get_bdev_super() will return

NULL in that case.

For example, P1 calls dm_suspend() which calls into bdev_freeze() before

the block device has been claimed by the filesystem. This brings

bdev->bd_fsfreeze_count to 1 and no call into fs_bdev_freeze() is

required.

Now P2 tries to mount that frozen block device. It claims it and checks

bdev->bd_fsfreeze_count. As it's elevated it aborts mounting.

In the meantime P3 called dm_resume(). P3 sees that the block device is

already claimed by a filesystem and calls into fs_bdev_thaw().

P3 takes a passive reference and realizes that the filesystem isn't

ready yet. P3 puts itself to sleep to wait for the filesystem to become

ready.

P2 now puts the last active reference to the filesystem and marks it as

dying. P3 gets woken, sees that the filesystem is dying and

get_bdev_super() fails.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00183 · 7.5th percentile
Published
2024-07-30T07:46Z
EPSS history
Timeline
  • 30 JUL 07:46Z
    fs: don't misleadingly warn during thaw operations
    cvelistv5