CVE-2021-47421

drm/amdgpu: handle the case of pci_channel_io_frozen only in amdgpu_pci_resume

State
Published
Severity
7.8 High
Published
May 21, 2024
Updated
Aug 5, 2026
Reserved
May 21, 2024

Read the record on cve.org

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.

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

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • c9a6b82f45e261d247b980a7949aaa6a9bfffe01 to before 785cc093b6b5a93cc350421a55f3f1eda6585156Affected
  • c9a6b82f45e261d247b980a7949aaa6a9bfffe01 to before 72e9a1bf9b722628c28092e0c2cd8717edd201dcAffected
  • c9a6b82f45e261d247b980a7949aaa6a9bfffe01 to before 248b061689a40f4fed05252ee2c89f87cf26d7d8Affected
LinuxLinux
  • 5.10Affected
  • before 5.10Not affected
  • 5.10.241 through 5.10.*Not affected
  • 5.14.12 through 5.14.*Not affected
  • 5.15 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.