Skip to main content
← All vulnerabilities
CVE-2025-40130

scsi: ufs: core: Fix data race in CPU latency PM QoS request handling

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.12.114, 6.17.3
None on Exploit-DB, Metasploit or GitHub

Summary

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.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 2777e73fc154e2e87233bdcc0e2402b33815198e · fixed in eee1b13526b8f1e6a2402973d95f9fa854771f57; From 2777e73fc154e2e87233bdcc0e2402b33815198e · fixed in d9df61afb8d23c475f1be3c714da2c34c156ab01; From 2777e73fc154e2e87233bdcc0e2402b33815198e · fixed in 79dde5f7dc7c038eec903745dc1550cd4139980e

  • Linux Linux

    6.9

  • KernelLinux

    From 6.9.0 · fixed in 6.12.114; From 6.13.0 · fixed in 6.17.3

References 3

git.kernel.org