CVE-2026-23034

Source
https://cve.org/CVERecord?id=CVE-2026-23034
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23034.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-23034
Downstream
Published
2026-01-31T11:42:29.137Z
Modified
2026-02-09T19:33:58.814917Z
Summary
drm/amdgpu/userq: Fix fence reference leak on queue teardown v2
Details

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->lastfence. This pointer holds an extra dmafence 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 dmafenceput(), the last fence object can stay alive when the driver unloads. This leaves an allocated object in the amdgpuuserqfence slab cache and triggers

This is visible during driver unload as:

BUG amdgpuuserqfence: Objects remaining on __kmemcacheshutdown() kmem_cachedestroy amdgpuuserqfence: Slab cache still has objects Call Trace: kmemcachedestroy amdgpuuserqfenceslabfini amdgpuexit _dosysdeletemodule

Fix this by putting userq->lastfence and clearing the pointer during amdgpuuserqfencedriver_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->lastfence with dmafence_put() (Christian)

(cherry picked from commit 8e051e38a8d45caf6a866d4ff842105b577953bb)

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23034.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
edc762a51c7181d6fe1e0837e2eb69afb406f98e
Fixed
e1a30e1ab33fc522785d04bbf7e1b13a5c5c9175
Fixed
b2426a211dba6432e32a2e70e9183c6e134475c6

Affected versions

v6.*
v6.14
v6.14-rc7
v6.15
v6.15-rc1
v6.15-rc2
v6.15-rc3
v6.15-rc4
v6.15-rc5
v6.15-rc6
v6.15-rc7
v6.16
v6.16-rc1
v6.16-rc2
v6.16-rc3
v6.16-rc4
v6.16-rc5
v6.16-rc6
v6.16-rc7
v6.17
v6.17-rc1
v6.17-rc2
v6.17-rc3
v6.17-rc4
v6.17-rc5
v6.17-rc6
v6.17-rc7
v6.18
v6.18-rc1
v6.18-rc2
v6.18-rc3
v6.18-rc4
v6.18-rc5
v6.18-rc6
v6.18-rc7
v6.18.1
v6.18.2
v6.18.3
v6.18.4
v6.18.5
v6.18.6
v6.19-rc1
v6.19-rc2
v6.19-rc3
v6.19-rc4
v6.19-rc5

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23034.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.16.0
Fixed
6.18.7

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23034.json"