CVE-2021-47421

Source
https://cve.org/CVERecord?id=CVE-2021-47421
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2021-47421.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2021-47421
Downstream
Related
Published
2024-05-21T15:15:27Z
Modified
2026-03-13T05:20:45Z
Severity
  • 5.5 (Medium) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
[none]
Details

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.

References

Affected packages

Git /

Affected ranges

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2021-47421.json"
unresolved_ranges
[
    {
        "events":  [
            {
                "introduced":  "5.10"
            },
            {
                "fixed":  "5.10.241"
            }
        ]
    },
    {
        "events":  [
            {
                "introduced":  "5.11"
            },
            {
                "fixed":  "5.14.12"
            }
        ]
    },
    {
        "events":  [
            {
                "introduced":  "0"
            },
            {
                "last_affected":  "5.15-rc1"
            }
        ]
    },
    {
        "events":  [
            {
                "introduced":  "0"
            },
            {
                "last_affected":  "5.15-rc2"
            }
        ]
    },
    {
        "events":  [
            {
                "introduced":  "0"
            },
            {
                "last_affected":  "5.15-rc3"
            }
        ]
    },
    {
        "events":  [
            {
                "introduced":  "0"
            },
            {
                "last_affected":  "5.15-rc4"
            }
        ]
    }
]