All vulnerabilities
CVE-2026-99106

Linux: drm/amdgpu: free the userptr ranges when a CS fails after parser_bos

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 in6ac46ae5ac561d4fc7d4246ad83d71bed0d9af9aAlso 2d9d24385201f476a2f754495b71bbac5ba6ea7b, 1b4da805a0ba354a549ce07459c871c17dd94fe0CVE List
Published28 Oct 2026Updated 28 Oct 2026CVE List

What fixes it

  • 6ac46ae5ac561d4fc7d4246ad83d71bed0d9af9aLinuxCVE List
  • 2d9d24385201f476a2f754495b71bbac5ba6ea7bLinuxCVE List
  • 1b4da805a0ba354a549ce07459c871c17dd94fe0LinuxCVE 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: free the userptr ranges when a CS fails after parser_bos

amdgpu_cs_parser_bos() allocates an HMM range for every userptr entry of the BO list and looks up the user pages. Those ranges are only freed when amdgpu_cs_parser_bos() itself fails or when amdgpu_cs_submit() checks them under the notifier lock. If amdgpu_cs_patch_jobs(), amdgpu_cs_vm_handling(), amdgpu_cs_sync_rings() or the early part of amdgpu_cs_submit() fails, nothing frees them: neither amdgpu_cs_parser_fini() nor amdgpu_bo_list_free() touch e->range.

Each such CS then leaks the range, its hmm_pfns array (8 bytes per page of the userptr BO) and the BO reference the range holds. An IB on a ring that patches the CS in place (e.g. VCN) with an unmapped va_start fails in amdgpu_cs_patch_ibs() and takes this path.

Free the ranges on those error paths. Ranges amdgpu_cs_submit() already dropped are NULL, so freeing them again is a no-op.

(cherry picked from commit c52a9542ed7cfd527feb938bd0accada2ac8d267)

Text from CVE List

Affected versions 8

  • Linuxaffected: fec8fdb54e8f74d88951c9f998f47bf4f2031fe0 before 6ac46ae5ac561d4fc7d4246ad83d71bed0d9af9aCVE List
  • Linuxaffected: fec8fdb54e8f74d88951c9f998f47bf4f2031fe0 before 2d9d24385201f476a2f754495b71bbac5ba6ea7bCVE List
  • Linuxaffected: fec8fdb54e8f74d88951c9f998f47bf4f2031fe0 before 1b4da805a0ba354a549ce07459c871c17dd94fe0CVE List
  • Linuxaffected: 6.2CVE List
  • Linuxunaffected: all versions before 6.2CVE 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