quota: flush quota_release_work upon quota writeback
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.
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