Lucene search

K
vulnrichmentLinuxVULNRICHMENT:CVE-2021-47421
HistoryMay 21, 2024 - 3:04 p.m.

CVE-2021-47421 drm/amdgpu: handle the case of pci_channel_io_frozen only in amdgpu_pci_resume

2024-05-2115:04:09
Linux
github.com
1
linux kernel
vulnerability
drm/amdgpu
pci_channel_io_frozen
amdgpu_pci_resume

AI Score

6.8

Confidence

Low

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial

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.

AI Score

6.8

Confidence

Low

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial