All vulnerabilities
CVE-2026-99148

Linux: drm/amdgpu: keep the eviction fence until the last handle is closed

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)No scoreNo FIRST EPSS score in this snapshot yet
Fixed in6467c4cc83b94850bfea614e9f98276edf9a7c3fAlso 3c44cbcec5eb370713bbd2c315ed7c34d8ccec2bCVE List
Published28 Oct 2026Updated 28 Oct 2026CVE List

What fixes it

  • 6467c4cc83b94850bfea614e9f98276edf9a7c3fLinuxCVE List
  • 3c44cbcec5eb370713bbd2c315ed7c34d8ccec2bLinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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

drm/amdgpu: keep the eviction fence until the last handle is closed

amdgpu_gem_object_close() detaches the user queue eviction fence from the BO before it checks bo_va->ref_count, so closing any handle of a BO removes the fence, even when the file still has another handle to the BO and the bo_va with its GPU mappings stays. The BO can then be evicted without suspending the user queues of the file, which keep accessing it through mappings that are only marked for update.

Seen on navi31 with a SDMA user queue: a BO opened twice in the same file (GEM_FLINK + GEM_OPEN) loses its eviction fence when the second handle is closed (traced attach/detach of the fence):

attach bo=ffff8c78a6c84c00 GEM_CLOSE handle=7 detach bo=ffff8c78a6c84c00

while handle 6 and the mapping are still in use.

Only detach the fence when the last reference to the bo_va goes away, matching amdgpu_gem_object_open(), which attaches it only when the bo_va is created. With this the fence stays until the file is closed.

(cherry picked from commit 8387982f03d4026b7dc11b0b5e3118298eee4d6a)

Text from CVE List

Affected versions 8

  • Linuxaffected: 31f7efcdca4d1caaa3a0babc33377e27e6f9b593 before dce8f7f03a47b1744dccf506268f9229b67fab47CVE List
  • Linuxaffected: 31f7efcdca4d1caaa3a0babc33377e27e6f9b593 before 6467c4cc83b94850bfea614e9f98276edf9a7c3fCVE List
  • Linuxaffected: 31f7efcdca4d1caaa3a0babc33377e27e6f9b593 before 3c44cbcec5eb370713bbd2c315ed7c34d8ccec2bCVE List
  • Linuxaffected: 6.16CVE List
  • Linuxunaffected: all versions before 6.16CVE List
  • Linuxunaffected: 6.18.59 through 6.18.*CVE List
  • Linuxunaffected: 7.2.13 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 3