CVE-2022-50760
Description
In the Linux kernel, the following vulnerability has been resolved:
drm/amdgpu: Fix PCI device refcount leak in amdgpu_atrm_get_bios()
As comment of pci_get_class() says, it returns a pci_device with its refcount increased and decreased the refcount for the input parameter @from if it is not NULL.
If we break the loop in amdgpu_atrm_get_bios() with 'pdev' not NULL, we need to call pci_dev_put() to decrease the refcount. Add the missing pci_dev_put() to avoid refcount leak.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
A missing pci_dev_put() in amdgpu_atrm_get_bios() causes a PCI device refcount leak, potentially leading to resource exhaustion.
Vulnerability
In the Linux kernel's AMDGPU Direct Rendering Manager (DRM) driver, the function amdgpu_atrm_get_bios() iterates over PCI devices using pci_get_class(). According to the kernel API, pci_get_class() returns a PCI device with its reference count incremented, and it decrements the reference count of the input from parameter if it is not NULL. When the loop breaks with a non-NULL pdev, the function fails to call pci_dev_put() to release the reference, leading to a reference count leak [1].
Exploitation
This vulnerability is triggered during the boot process when the AMDGPU driver attempts to retrieve the Video BIOS (VBIOS) from a PCI device. No special privileges or user interaction are required; the bug occurs automatically in the kernel initialization path. An attacker with local access could potentially exploit the leak by repeatedly triggering the driver initialization, causing the reference count to increase without bound.
Impact
A persistent PCI device reference count leak prevents the kernel from properly releasing the device object cleanup, eventually leading to resource exhaustion. Over time, this can cause system instability, denial of service, or prevent the device from being properly released and re-enumerated. The leak does not directly allow arbitrary code execution but degrades system reliability.
Mitigation
The fix adds the missing pci_dev_put() call before returning from amdgpu_atrm_get_bios(). Patches have been applied to the stable kernel branches as of December 2024 [2][3][4]. Users should update to a kernel version containing the commit to eliminate the leak.
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
1Patches
96611feef35c0da7c78ea9e623360125d721c981024abf5fe7c1ddf7c664b8f2d2badf8ca9d4057d04522a8b54ad7106cca54639c7752Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
9- git.kernel.org/stable/c/3360125d721c91d697c71201f18f042ff743e936nvd
- git.kernel.org/stable/c/6611feef35c0c8c4d297b28a7fc6ab3a2c47eca7nvd
- git.kernel.org/stable/c/7c1ddf7c664b5bc91f14b1bdeaa45520ef1760e4nvd
- git.kernel.org/stable/c/8f2d2badf8ca5e7e7c30d88840b695c8af7286f3nvd
- git.kernel.org/stable/c/981024abf5fe605c94d4f906f65d1b3408d628benvd
- git.kernel.org/stable/c/9d4057d0452243917e12eb19f1599c96f2f05b14nvd
- git.kernel.org/stable/c/a8b54ad7106c0604c4adc4933138b3557739bce0nvd
- git.kernel.org/stable/c/ca54639c7752edf1304d92ff4d0c049d4efc9ba0nvd
- git.kernel.org/stable/c/da7c78ea9e62bb65273d3ff19a3866ec205bfe18nvd
News mentions
0No linked articles in our index yet.