Description
In the Linux kernel, the following vulnerability has been resolved: quota: flush quota_release_work upon quota writeback One of the paths quota writeback is called from is: freeze_super() sync_filesystem() ext4_sync_fs() dquot_writeback_dquots() Since we currently don't always flush the quota_release_work queue in this path, we can end up with the following race: 1. dquot are added to releasing_dquots list during regular operations. 2. FS Freeze starts, however, this does not flush the quota_release_work queue. 3. Freeze completes. 4. Kernel eventually tries to flush the workqueue while FS is frozen which hits a WARN_ON since transaction gets started during frozen state: ext4_journal_check_start+0x28/0x110 [ext4] (unreliable) __ext4_journal_start_sb+0x64/0x1c0 [ext4] ext4_release_dquot+0x90/0x1d0 [ext4] quota_release_workfn+0x43c/0x4d0 Which is the following line: WARN_ON(sb->s_writers.frozen == SB_FREEZE_COMPLETE); Which ultimately results in generic/390 failing due to dmesg noise. This was detected on powerpc machine 15 cores. To avoid this, make sure to flush the workqueue during dquot_writeback_dquots() so we dont have any pending workitems after freeze.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
d40c192e119892799dd4ddf94f5cea6fa93775ef to < a5abba5e0e586e258ded3e798fe5f69c66fec198affected86d89987f0998c98f57d641e308b40452a994045 to < 6f3821acd7c3143145999248087de5fb4b48cf26affected89602de9a2d7080b7a4029d5c1bf8f78d295ff5f to < ab6cfcf8ed2c7496f55d020b65b1d8cd55d9a2cbaffected3027e200dd58d5b437f16634dbbd355b29ffe0a6 to < 3e6ff207cd5bd924ad94cd1a7c633bcdac0ba1cbaffecteddabc8b20756601b9e1cc85a81d47d3f98ed4d13a to < bcacb52a985f1b6d280f698a470b873dfe52728aaffecteddabc8b20756601b9e1cc85a81d47d3f98ed4d13a to < 8ea87e34792258825d290f4dc5216276e91cb224affecteddabc8b20756601b9e1cc85a81d47d3f98ed4d13a to < ac6f420291b3fee1113f21d612fa88b628afab5baffectedf3e9a2bbdeb8987508dd6bb2b701dea911d4daecaffected903fc5d8cb48b0d2de7095ef40e39fd32bb27bd0affected31bed65eecbc5ce57592cfe31947eaa64e3d678eaffected5.4.257 to < 5.4.287affected5.10.195 to < 5.10.231affected5.15.132 to < 5.15.174affected6.1.53 to < 6.1.120affected4.19.295 to < 4.20affected6.4.16 to < 6.5affected6.5.3 to < 6.6affected
Linux Linux
Default version status: affected
6.6affected0 to < 6.6unaffected5.4.287 to ≤ 5.4.*unaffected5.10.231 to ≤ 5.10.*unaffected5.15.174 to ≤ 5.15.*unaffected6.1.120 to ≤ 6.1.*unaffected6.6.64 to ≤ 6.6.*unaffected6.12.4 to ≤ 6.12.*unaffected6.13 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/a5abba5e0e586e258ded3e798fe5f69c66fec198 ↗
- https://git.kernel.org/stable/c/6f3821acd7c3143145999248087de5fb4b48cf26 ↗
- https://git.kernel.org/stable/c/ab6cfcf8ed2c7496f55d020b65b1d8cd55d9a2cb ↗
- https://git.kernel.org/stable/c/3e6ff207cd5bd924ad94cd1a7c633bcdac0ba1cb ↗
- https://git.kernel.org/stable/c/bcacb52a985f1b6d280f698a470b873dfe52728a ↗
- https://git.kernel.org/stable/c/8ea87e34792258825d290f4dc5216276e91cb224 ↗
- https://git.kernel.org/stable/c/ac6f420291b3fee1113f21d612fa88b628afab5b ↗
- https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html ↗
- https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-398330.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-355557.html ↗