CVE-2021-47421CWE-667

CVE-2021-47421

High · published May 21, 2024

CVSS v3.1
7.8
EPSS
0%
Percentile
10.1
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00206 · 10.1th percentile
Weakness
CWE-667 · Improper Locking
Published
2024-05-21T19:15Z
Affected products (6)
ProductVersionsFixed in
linux/linux_kernel≥ 5.10, < 5.10.2415.10.241
linux/linux_kernel≥ 5.11, < 5.14.125.14.12
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (6)
EPSS history
Timeline
  • 21 MAY 15:04Z
    drm/amdgpu: handle the case of pci_channel_io_frozen only in amdgpu_pci_resume
    cvelistv5