Overview
About vulnerability
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:
- amdgpu_dm_ism_disable() – quiesces workers, must NOT hold dc_lock.
- amdgpu_dm_ism_force_full_power() (new) – drives the ISM FSM back to FULL_POWER_RUNNING, must hold dc_lock.
Details
- Affected product:
- AlmaLinux 9.2 ESU , CentOS 7 ELS , CentOS 8.4 ELS , CentOS 8.5 ELS , CentOS Stream 8 ELS , Debian 10 ELS , RHEL 7 ELS , TuxCare 9.6 ESU
- Affected packages:
- kernel @ 3.10.0 (+7 more)