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

drm/amdgpu/userq: Fix fence reference leak on queue teardown v2

The user mode queue keeps a pointer to the most recent fence in
userq->last_fence. This pointer holds an extra dma_fence reference.

When the queue is destroyed, we free the fence driver and its xarray,
but we forgot to drop the last_fence reference.

Because of the missing dma_fence_put(), the last fence object can stay
alive when the driver unloads. This leaves an allocated object in the
amdgpu_userq_fence slab cache and triggers

This is visible during driver unload as:

BUG amdgpu_userq_fence: Objects remaining on __kmem_cache_shutdown()
kmem_cache_destroy amdgpu_userq_fence: Slab cache still has objects
Call Trace:
kmem_cache_destroy
amdgpu_userq_fence_slab_fini
amdgpu_exit
__do_sys_delete_module

Fix this by putting userq->last_fence and clearing the pointer during
amdgpu_userq_fence_driver_free().

This makes sure the fence reference is released and the slab cache is
empty when the module exits.

v2: Update to only release userq->last_fence with dma_fence_put()
(Christian)

(cherry picked from commit 8e051e38a8d45caf6a866d4ff842105b577953bb)
Published: 2026-01-31
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: Resource Exhaustion
Action: Immediate Patch
AI Analysis

Impact

The AMDGPU driver in the Linux kernel contains a memory leak that occurs when a user queue is torn down. A reference to the most recent fence is retained in userq->last_fence and is not released during module unload. Because of the missing dma_fence_put() call, the last fence object can remain allocated, leaving objects in the amdgpu_userq_fence slab cache. This leak can lead to kernel memory waste and may trigger a BUG during driver unload as reported in the kernel log.

Affected Systems

All Linux kernel builds that include the AMDGPU driver and execute the user queue teardown path are affected. Versions of the kernel prior to the fix (commit 8e051e38a8d45caf6a866d4ff842105b577953bb) are vulnerable. No specific version numbers are provided, but the issue exists in kernels containing the corresponding code before the update.

Risk and Exploitability

The EPSS score is below 1%, indicating a very low probability that this flaw is actively exploited. The vulnerability is not listed in the CISA KEV catalog. Exploitation would require local kernel access and the ability to unload or reload the AMDGPU module, a scenario unlikely to be targeted by attackers. Consequently, the overall risk is low, and the flaw is unlikely to be leveraged in a real-world attack.

Generated by OpenCVE AI on April 18, 2026 at 18:36 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that contains the AMDGPU user queue fence reference leak fix (commit 8e051e38a8d45caf6a866d4ff842105b577953bb).
  • If a kernel update cannot be performed immediately, avoid unloading or reloading the AMDGPU driver until the system is patched.
  • Monitor kernel logs for "amdgpu_userq_fence: Objects remaining on __kmem_cache_shutdown()" and review slab cache usage for residual objects to ensure the leak has been fully mitigated.

Generated by OpenCVE AI on April 18, 2026 at 18:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 18 Apr 2026 19:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-404

Mon, 02 Feb 2026 12:15:00 +0000


Sat, 31 Jan 2026 12:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu/userq: Fix fence reference leak on queue teardown v2 The user mode queue keeps a pointer to the most recent fence in userq->last_fence. This pointer holds an extra dma_fence reference. When the queue is destroyed, we free the fence driver and its xarray, but we forgot to drop the last_fence reference. Because of the missing dma_fence_put(), the last fence object can stay alive when the driver unloads. This leaves an allocated object in the amdgpu_userq_fence slab cache and triggers This is visible during driver unload as: BUG amdgpu_userq_fence: Objects remaining on __kmem_cache_shutdown() kmem_cache_destroy amdgpu_userq_fence: Slab cache still has objects Call Trace: kmem_cache_destroy amdgpu_userq_fence_slab_fini amdgpu_exit __do_sys_delete_module Fix this by putting userq->last_fence and clearing the pointer during amdgpu_userq_fence_driver_free(). This makes sure the fence reference is released and the slab cache is empty when the module exits. v2: Update to only release userq->last_fence with dma_fence_put() (Christian) (cherry picked from commit 8e051e38a8d45caf6a866d4ff842105b577953bb)
Title drm/amdgpu/userq: Fix fence reference leak on queue teardown v2
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-02-09T08:37:28.849Z

Reserved: 2026-01-13T15:37:45.942Z

Link: CVE-2026-23034

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-01-31T12:16:06.710

Modified: 2026-04-15T00:35:42.020

Link: CVE-2026-23034

cve-icon Redhat

Severity :

Publid Date: 2026-01-31T00:00:00Z

Links: CVE-2026-23034 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-04-18T18:45:05Z

Weaknesses