CVE-2026-68364 in Linuxinfo

Summary

by MITRE • 08/10/2026

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

drm/amd/display: Fix ISM dc_lock deadlock during suspend

[Why]
System hang observed during suspend/resume while video is playing. amdgpu_dm_ism_disable() is called under dc_lock and waits for ISM delayed work via disable_delayed_work_sync(). The work handlers themselves take dc_lock, producing an ABBA deadlock when a worker is in flight at suspend time.

[How]
Split the disable path into two phases with opposite locking contracts: 1. amdgpu_dm_ism_disable() -- quiesces workers, must NOT hold dc_lock. 2. amdgpu_dm_ism_force_full_power() (new) -- drives the ISM FSM back to FULL_POWER_RUNNING, must hold dc_lock.

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 08/11/2026

The vulnerability in question represents a critical deadlock condition within the AMD GPU display driver subsystem of the Linux kernel, specifically affecting the drm/amd/display component. This issue manifests as system hangs during suspend/resume operations when video playback is active, creating a scenario where the system becomes unresponsive and requires manual intervention. The root cause lies in the improper locking mechanism that creates a circular dependency between different kernel components during the suspension process.

The technical flaw stems from the improper handling of the dc_lock mutex within the amdgpu_dm_ism_disable() function which is designed to disable the Integrated System Manager functionality. This function attempts to synchronize with ISM delayed work using disable_delayed_work_sync() while holding the dc_lock, creating a classic ABBA deadlock scenario. When a worker thread is executing during suspend time, it also attempts to acquire the same dc_lock, resulting in a circular wait condition where each component waits for the other to release its lock. This pattern directly aligns with CWE-362, which describes race conditions and improper locking mechanisms that can lead to deadlock situations in concurrent programming environments.

The operational impact of this vulnerability is severe as it affects the fundamental system stability during power management operations. Users experiencing video playback when attempting to suspend their systems encounter complete system hangs, making the device unusable until reboot. This represents a critical failure in the kernel's power management subsystem and demonstrates poor design in the locking hierarchy that violates fundamental concurrency principles. The issue is particularly problematic because it occurs during routine system operations, making it difficult to predict or avoid.

The proposed solution implements a two-phase approach to resolve the deadlock condition by restructuring the disable path with opposite locking contracts as specified in the fix. Phase one involves amdgpu_dm_ism_disable() function that quiesces workers without holding the dc_lock, breaking the circular dependency while ensuring all pending work is properly drained. Phase two introduces a new function amdgpu_dm_ism_force_full_power() which handles the final state machine transitions and holds the dc_lock for the necessary operations. This approach follows established best practices for concurrent programming by avoiding nested locking scenarios and maintaining consistent lock ordering. The solution aligns with ATT&CK framework concept T1547.001, which addresses privilege escalation through kernel-level vulnerabilities, as this fix prevents system crashes that could potentially be exploited to gain elevated privileges.

The mitigation strategy focuses on implementing proper lock ordering principles and avoiding nested acquisition of the same mutex in different contexts. This requires careful analysis of all code paths that access shared resources and establishment of clear locking contracts between functions. The solution demonstrates adherence to kernel development best practices by ensuring that operations requiring synchronization with work queues do not hold locks that may be required by worker threads themselves. This architectural change prevents similar issues from occurring in other parts of the subsystem and provides a robust foundation for future development while maintaining system stability during critical power management operations. The fix ensures that suspend/resume operations can proceed without interference from concurrent ISM workers, thereby maintaining system responsiveness and preventing the ABBA deadlock condition that previously made systems unresponsive during these operations.

Responsible

Linux

Reservation

07/30/2026

Disclosure

08/10/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

low

Sources

Do you need the next level of professionalism?

Upgrade your account now!