scsi: ufs: core: Fix data race in CPU latency PM QoS request handling
In the Linux kernel, the following vulnerability has been resolved: scsi: ufs: core: Fix data race in CPU latency PM QoS request handling The cpu_latency_qos_add/remove/update_request interfaces lack internal synchronization by design, requiring the caller to ensure thread safety. The current implementation relies on the 'pm_qos_enabled' flag, which is insufficient to prevent concurrent access and cannot serve as a proper synchronization mechanism. This has led to data races and list corruption issues. A typical race condition call trace is: [Thread A] ufshcd_pm_qos_exit() --> cpu_latency_qos_remove_request() --> cpu_latency_qos_apply(); --> pm_qos_update_target() --> plist_del <--(1) delete plist node --> memset(req, 0, sizeof(*req)); --> hba->pm_qos_enabled = false; [Thread B] ufshcd_devfreq_target --> ufshcd_devfreq_scale --> ufshcd_scale_clks --> ufshcd_pm_qos_update <--(2) pm_qos_enabled is true --> cpu_latency_qos_update_request --> pm_qos_update_target --> plist_del <--(3) plist node use-after-free Introduces a dedicated mutex to serialize PM QoS operations, preventing data races and ensuring safe access to PM QoS resources, including sysfs interface reads.
CVE-2025-40130
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-2025-40130
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": "2777e73fc154e2e87233bdcc0e2402b33815198e",
"lessThan": "eee1b13526b8f1e6a2402973d95f9fa854771f57",
"versionType": "git"
},
{
"status": "affected",
"version": "2777e73fc154e2e87233bdcc0e2402b33815198e",
"lessThan": "d9df61afb8d23c475f1be3c714da2c34c156ab01",
"versionType": "git"
},
{
"status": "affected",
"version": "2777e73fc154e2e87233bdcc0e2402b33815198e",
"lessThan": "79dde5f7dc7c038eec903745dc1550cd4139980e",
"versionType": "git"
}
],
"programFiles": [
"drivers/ufs/core/ufs-sysfs.c",
"drivers/ufs/core/ufshcd.c",
"include/ufs/ufshcd.h"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "6.9"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "6.9",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "6.12.114",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.17.3",
"versionType": "semver",
"lessThanOrEqual": "6.17.*"
},
{
"status": "unaffected",
"version": "6.18",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"drivers/ufs/core/ufs-sysfs.c",
"drivers/ufs/core/ufshcd.c",
"include/ufs/ufshcd.h"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2025-40130
Source reference:
/cveMetadata/cveId
Publisher severity
No explicit severity was provided.
- Event
- #46044 · Revision 1
- Added to Heist Feed
- Publisher date