Skip to content
CVE PROGRAM SOURCE RECORD5.5 Medium

CVE-2024-56780

quota: flush quota_release_work upon quota writeback

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 < a5abba5e0e586e258ded3e798fe5f69c66fec198affected
  • 86d89987f0998c98f57d641e308b40452a994045 to < 6f3821acd7c3143145999248087de5fb4b48cf26affected
  • 89602de9a2d7080b7a4029d5c1bf8f78d295ff5f to < ab6cfcf8ed2c7496f55d020b65b1d8cd55d9a2cbaffected
  • 3027e200dd58d5b437f16634dbbd355b29ffe0a6 to < 3e6ff207cd5bd924ad94cd1a7c633bcdac0ba1cbaffected
  • dabc8b20756601b9e1cc85a81d47d3f98ed4d13a to < bcacb52a985f1b6d280f698a470b873dfe52728aaffected
  • dabc8b20756601b9e1cc85a81d47d3f98ed4d13a to < 8ea87e34792258825d290f4dc5216276e91cb224affected
  • dabc8b20756601b9e1cc85a81d47d3f98ed4d13a to < ac6f420291b3fee1113f21d612fa88b628afab5baffected
  • f3e9a2bbdeb8987508dd6bb2b701dea911d4daecaffected
  • 903fc5d8cb48b0d2de7095ef40e39fd32bb27bd0affected
  • 31bed65eecbc5ce57592cfe31947eaa64e3d678eaffected
  • 5.4.257 to < 5.4.287affected
  • 5.10.195 to < 5.10.231affected
  • 5.15.132 to < 5.15.174affected
  • 6.1.53 to < 6.1.120affected
  • 4.19.295 to < 4.20affected
  • 6.4.16 to < 6.5affected
  • 6.5.3 to < 6.6affected

Linux Linux

Default version status: affected

  • 6.6affected
  • 0 to < 6.6unaffected
  • 5.4.287 to ≤ 5.4.*unaffected
  • 5.10.231 to ≤ 5.10.*unaffected
  • 5.15.174 to ≤ 5.15.*unaffected
  • 6.1.120 to ≤ 6.1.*unaffected
  • 6.6.64 to ≤ 6.6.*unaffected
  • 6.12.4 to ≤ 6.12.*unaffected
  • 6.13 to ≤ *unaffected

References