Description
In the Linux kernel, the following vulnerability has been resolved:

drm/amdgpu: fix bo->pin leaking in amdgpu_bo_create_reserved

amdgpu_bo_create_reserved() only allocates a new BO when
*bo_ptr (struct amdgpu_bo **bo_ptr as input parameter) is
NULL, it simply skips creation when *bo_ptr is non-NULL.
But it unconditionally reserves, pins, gart allocates
and maps the BO afterwards.

When the same non-NULL BO pointer is passed in again,
for example firmware buffers that live in adev and are
re-loaded on every resume / cp_resume / start
under AMDGPU_FW_LOAD_DIRECT, amdgpu_bo_pin() just increases
pin_count unconditionally, however the matching teardown only unpins
once, so pin_count never drops to zero, so TTM is not able
to move, swap or evict a BO, causing BO leaks.

This commit fixes this issue by only pinning the bo
once at creation, and repeated calls no longer
take additional pin references.

(cherry picked from commit 3ddc0ae76202c447b6aec61e907b852bc94671cf)
Published: 2026-08-10
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The kernel’s AMDGPU buffer object creation routine increments a pin counter each time it is called with a non‑NULL pointer, yet the corresponding unpin operation only decrements it once. This mismatch allows the pin count to grow indefinitely, preventing the TTM memory manager from moving, swapping or evicting the affected buffer objects. The result is a leaking of kernel‑side buffers that can eventually consume all available memory and degrade system performance or cause failures.

Affected Systems

All Linux kernel installations that use the AMDGPU driver are potentially affected. No specific kernel versions are listed, so the issue may exist in any release that has not applied the commit that corrects the reference counting logic.

Risk and Exploitability

The vulnerability is not catalogued in CISA’s KEV list and the EPSS score is not available, suggesting that it has not been widely observed yet. Exploitation requires privileged code to perform repeated calls to the driver routine that occurs during firmware reloads or resume operations; it is therefore unlikely to be exploitable remotely without kernel compromise. The risk is judged moderate, primarily to the integrity and availability of memory resources within the affected systems.

Generated by OpenCVE AI on August 10, 2026 at 14:54 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the kernel to a revision that includes the commit fixing the pin count mis‑management in amdgpu_bo_create_reserved
  • Apply the latest AMDGPU driver updates that incorporate the upstream patch
  • Monitor kernel memory usage and BO pin counts after the update to verify that the leak has been mitigated

Generated by OpenCVE AI on August 10, 2026 at 14:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 10 Aug 2026 15:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-399
CWE-835

Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: fix bo->pin leaking in amdgpu_bo_create_reserved amdgpu_bo_create_reserved() only allocates a new BO when *bo_ptr (struct amdgpu_bo **bo_ptr as input parameter) is NULL, it simply skips creation when *bo_ptr is non-NULL. But it unconditionally reserves, pins, gart allocates and maps the BO afterwards. When the same non-NULL BO pointer is passed in again, for example firmware buffers that live in adev and are re-loaded on every resume / cp_resume / start under AMDGPU_FW_LOAD_DIRECT, amdgpu_bo_pin() just increases pin_count unconditionally, however the matching teardown only unpins once, so pin_count never drops to zero, so TTM is not able to move, swap or evict a BO, causing BO leaks. This commit fixes this issue by only pinning the bo once at creation, and repeated calls no longer take additional pin references. (cherry picked from commit 3ddc0ae76202c447b6aec61e907b852bc94671cf)
Title drm/amdgpu: fix bo->pin leaking in amdgpu_bo_create_reserved
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-10T12:00:59.074Z

Reserved: 2026-07-30T09:28:09.376Z

Link: CVE-2026-68234

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-10T19:30:17Z

Weaknesses
  • CWE-399
  • CWE-835

    Loop with Unreachable Exit Condition ('Infinite Loop')