CVE-2024-56780
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
08/01/2025
Last modified:
03/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
quota: flush quota_release_work upon quota writeback<br />
<br />
One of the paths quota writeback is called from is:<br />
<br />
freeze_super()<br />
sync_filesystem()<br />
ext4_sync_fs()<br />
dquot_writeback_dquots()<br />
<br />
Since we currently don&#39;t always flush the quota_release_work queue in<br />
this path, we can end up with the following race:<br />
<br />
1. dquot are added to releasing_dquots list during regular operations.<br />
2. FS Freeze starts, however, this does not flush the quota_release_work queue.<br />
3. Freeze completes.<br />
4. Kernel eventually tries to flush the workqueue while FS is frozen which<br />
hits a WARN_ON since transaction gets started during frozen state:<br />
<br />
ext4_journal_check_start+0x28/0x110 [ext4] (unreliable)<br />
__ext4_journal_start_sb+0x64/0x1c0 [ext4]<br />
ext4_release_dquot+0x90/0x1d0 [ext4]<br />
quota_release_workfn+0x43c/0x4d0<br />
<br />
Which is the following line:<br />
<br />
WARN_ON(sb->s_writers.frozen == SB_FREEZE_COMPLETE);<br />
<br />
Which ultimately results in generic/390 failing due to dmesg<br />
noise. This was detected on powerpc machine 15 cores.<br />
<br />
To avoid this, make sure to flush the workqueue during<br />
dquot_writeback_dquots() so we dont have any pending workitems after<br />
freeze.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.19.295 (including) | 4.20 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.4.257 (including) | 5.4.287 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.10.195 (including) | 5.10.231 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.15.132 (including) | 5.15.174 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.1.53 (including) | 6.1.120 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.4.16 (including) | 6.5 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.5.3 (including) | 6.6.64 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.4 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.13:rc1:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/3e6ff207cd5bd924ad94cd1a7c633bcdac0ba1cb
- https://git.kernel.org/stable/c/6f3821acd7c3143145999248087de5fb4b48cf26
- https://git.kernel.org/stable/c/8ea87e34792258825d290f4dc5216276e91cb224
- https://git.kernel.org/stable/c/a5abba5e0e586e258ded3e798fe5f69c66fec198
- https://git.kernel.org/stable/c/ab6cfcf8ed2c7496f55d020b65b1d8cd55d9a2cb
- https://git.kernel.org/stable/c/ac6f420291b3fee1113f21d612fa88b628afab5b
- https://git.kernel.org/stable/c/bcacb52a985f1b6d280f698a470b873dfe52728a
- https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html
- https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html



