CVE-2026-68273

drm/amdgpu: Fix context pstate override handling

State
Published
Severity
7.8 High
Published
Aug 10, 2026
Updated
Oct 30, 2026
Reserved
Jul 30, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

drm/amdgpu: Fix context pstate override handling

There are several problems in the context pstate handling code.

The most serious ones are potential use-after-free and NULL pointer dereferences at context initialization time. Both are due amdgpu_ctx_init() not holding the adev->pm.stable_pstate_ctx_lock, which is otherwise used from both sysfs and the context code itself for modifying and clearing the stored context pointer.

Second issue is that context fini can trample over the pstate configuration set via sysfs. This is due the restore state (ctx->stable_pstate) being saved at context init time, and not if, or when the context actually changes the pstate. As the context exits it will therefore incorrectly restore to what was set before the sysfs override was requested.

The simplest fix is to drastically simplify how the state is tracked, by clearly defining the points at which pstate ownership is taken and released, and to handle all transitions under the correct lock.

Instead of at context init time, the previous state is saved only at the point the context overrides the current state, and is restored on context exit only if the context is still the owner of the current override state.

(cherry picked from commit 1b5e413713c0a93bc1818394d0ce49aaad21bd27)

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

  • CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

Affected Products

ProductVersions
LinuxLinux
  • 79610d3041338dc1ef554d6fd8b3b3e23be527f5 to before ebed6179c993f07da24d0a454816e7da790377afAffected
  • 79610d3041338dc1ef554d6fd8b3b3e23be527f5 to before 3531910845165dcf1a213267199ccc97e03cd58aAffected
  • 79610d3041338dc1ef554d6fd8b3b3e23be527f5 to before 23a8726e1d7597fe7c9a59d5dc42ba8b7d345b8aAffected
  • 79610d3041338dc1ef554d6fd8b3b3e23be527f5 to before e06c39cc1c48dca68a5ffd971c23025a52d46634Affected
  • 79610d3041338dc1ef554d6fd8b3b3e23be527f5 to before 9f9c88eb298c54348be3ca4087f4f4c615065b87Affected
  • 79610d3041338dc1ef554d6fd8b3b3e23be527f5 to before c1dc4ccb82c9e56325d8e7514ca4c90bd1efb351Affected
  • 6607901fce79959130db485e7549dacaaeef034eAffected
  • 6.0.7 to before 6.1Affected
LinuxLinux
  • 6.1Affected
  • before 6.1Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.103 through 6.12.*Not affected
  • 6.18.44 through 6.18.*Not affected
  • 7.1.6 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.