OPP: Fix race between OPP addition and lookup
Summary
| CVE | CVE-2026-74405 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-08-15 06:22:42 UTC |
| Updated | 2026-08-15 06:22:42 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved:
OPP: Fix race between OPP addition and lookup
A race exists between dev_pm_opp_add_dynamic() and
dev_pm_opp_find_freq_exact():
CPU0 (add) CPU1 (lookup)
------------------------------- ------------------------------
_opp_add()
mutex_lock()
list_add(&new_opp->node, head)
mutex_unlock() _opp_table_find_key()
mutex_lock()
dev_pm_opp_get(opp)
kref_get()
mutex_unlock()
kref_init(&new_opp->kref)
dev_pm_opp_put()
kref_put_mutex()
The newly added OPP is inserted into the list before its kref is
initialized. A concurrent lookup can find this OPP and increment its
reference count while it is still uninitialized, leading to refcount
corruption and a potential premature free.
Fix this by initializing ->kref and ->opp_table before making the OPP
visible via list_add(). This ensures any concurrent lookup observes a
fully initialized object.
[ Viresh: Updated commit log ] |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected 7034764a1e4a6edbb60914e89aad8384e3fe5d17 46696b0b2123475d7f95909435c09808fc5ffd23 git |
Not specified |
| CNA |
Linux |
Linux |
affected 7034764a1e4a6edbb60914e89aad8384e3fe5d17 bb75bd7d9ae7672034f73ce67a57e6ac89bb39e5 git |
Not specified |
| CNA |
Linux |
Linux |
affected 7034764a1e4a6edbb60914e89aad8384e3fe5d17 f5e1cc9a284bff2510981643a5bca4bc4c21b81a git |
Not specified |
| CNA |
Linux |
Linux |
affected 4.11 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 4.11 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.40 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.1.5 7.1.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.2-rc1 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/f5e1cc9a284bff2510981643a5bca4bc4c21b81a |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/bb75bd7d9ae7672034f73ce67a57e6ac89bb39e5 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/46696b0b2123475d7f95909435c09808fc5ffd23 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.