Skip to content
Heist/ feed
Unrated

quota: flush quota_release_work upon quota writeback

Type: advisorySource: Official CVE List1 source record

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.

Announced Group revision 1
Original source ↗

CVE-2024-56780

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2024-56780

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "d40c192e119892799dd4ddf94f5cea6fa93775ef",
        "lessThan": "a5abba5e0e586e258ded3e798fe5f69c66fec198",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "86d89987f0998c98f57d641e308b40452a994045",
        "lessThan": "6f3821acd7c3143145999248087de5fb4b48cf26",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "89602de9a2d7080b7a4029d5c1bf8f78d295ff5f",
        "lessThan": "ab6cfcf8ed2c7496f55d020b65b1d8cd55d9a2cb",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "3027e200dd58d5b437f16634dbbd355b29ffe0a6",
        "lessThan": "3e6ff207cd5bd924ad94cd1a7c633bcdac0ba1cb",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "dabc8b20756601b9e1cc85a81d47d3f98ed4d13a",
        "lessThan": "bcacb52a985f1b6d280f698a470b873dfe52728a",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "dabc8b20756601b9e1cc85a81d47d3f98ed4d13a",
        "lessThan": "8ea87e34792258825d290f4dc5216276e91cb224",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "dabc8b20756601b9e1cc85a81d47d3f98ed4d13a",
        "lessThan": "ac6f420291b3fee1113f21d612fa88b628afab5b",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "f3e9a2bbdeb8987508dd6bb2b701dea911d4daec",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "903fc5d8cb48b0d2de7095ef40e39fd32bb27bd0",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "31bed65eecbc5ce57592cfe31947eaa64e3d678e",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "5.4.257",
        "lessThan": "5.4.287",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "5.10.195",
        "lessThan": "5.10.231",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "5.15.132",
        "lessThan": "5.15.174",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "6.1.53",
        "lessThan": "6.1.120",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "4.19.295",
        "lessThan": "4.20",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "6.4.16",
        "lessThan": "6.5",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "6.5.3",
        "lessThan": "6.6",
        "versionType": "semver"
      }
    ],
    "programFiles": [
      "fs/quota/dquot.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "6.6"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "6.6",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "5.4.287",
        "versionType": "semver",
        "lessThanOrEqual": "5.4.*"
      },
      {
        "status": "unaffected",
        "version": "5.10.231",
        "versionType": "semver",
        "lessThanOrEqual": "5.10.*"
      },
      {
        "status": "unaffected",
        "version": "5.15.174",
        "versionType": "semver",
        "lessThanOrEqual": "5.15.*"
      },
      {
        "status": "unaffected",
        "version": "6.1.120",
        "versionType": "semver",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.6.64",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.4",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.13",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "fs/quota/dquot.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2024-56780

Source reference: /cveMetadata/cveId

Publisher severity

No explicit severity was provided.

Event
#26843 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement