What’s Vulnerable › Vulnerabilities
CVE-2021-47421: drm/amdgpu: handle the case of pci_channel_io_frozen only in amdgpu_pci_resume
- Severity: medium (CVSS 5.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2024-05-21 · updated 2026-08-04
- Weakness: CWE-667
Description
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: handle the case of pci_channel_io_frozen only in amdgpu_pci_resume In current code, when a PCI error state pci_channel_io_normal is detectd, it will report PCI_ERS_RESULT_CAN_RECOVER status to PCI driver, and PCI driver will continue the execution of PCI resume callback report_resume by pci_walk_bridge, and the callback will go into amdgpu_pci_resume finally, where write lock is releasd unconditionally without acquiring such lock first. In this case, a deadlock will happen when other threads start to acquire the read lock. To fix this, add a member in amdgpu_device strucutre to cache pci_channel_state, and only continue the execution in amdgpu_pci_resume when it's pci_channel_io_frozen.
Affected products
- Linux kernel: from 5.10 before 5.10.241; from 5.11 before 5.14.12; 5.15-rc1, 5.15-rc2, 5.15-rc3, 5.15-rc4 — fixed in 5.10.241, 5.14.12
How to fix
Upgrade to a fixed version: Linux kernel 5.10.241, 5.14.12. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/248b061689a40f4fed05252ee2c89f87cf26d7d8
- https://git.kernel.org/stable/c/72e9a1bf9b722628c28092e0c2cd8717edd201dc
- https://git.kernel.org/stable/c/785cc093b6b5a93cc350421a55f3f1eda6585156
- https://git.kernel.org/stable/c/248b061689a40f4fed05252ee2c89f87cf26d7d8
- https://git.kernel.org/stable/c/72e9a1bf9b722628c28092e0c2cd8717edd201dc
- https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html
Get alerted when CVE-2021-47421 or the next vulnerability affects your stack