CVE-2026-99106

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

State
Published
Severity
Not scored
Published
Oct 28, 2026
Updated
Oct 30, 2026
Reserved
Sep 25, 2026

Read the record on cve.org

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)

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • fec8fdb54e8f74d88951c9f998f47bf4f2031fe0 to before e265221019d20fa162b62baec16c44b5b2ea295bAffected
  • fec8fdb54e8f74d88951c9f998f47bf4f2031fe0 to before 79179efd1ad4729cf0ff9e15eb9414f883e4aec2Affected
  • fec8fdb54e8f74d88951c9f998f47bf4f2031fe0 to before 6ac46ae5ac561d4fc7d4246ad83d71bed0d9af9aAffected
  • fec8fdb54e8f74d88951c9f998f47bf4f2031fe0 to before 2d9d24385201f476a2f754495b71bbac5ba6ea7bAffected
  • fec8fdb54e8f74d88951c9f998f47bf4f2031fe0 to before 1b4da805a0ba354a549ce07459c871c17dd94fe0Affected
LinuxLinux
  • 6.2Affected
  • before 6.2Not affected
  • 6.6.161 through 6.6.*Not affected
  • 6.12.115 through 6.12.*Not affected
  • 6.18.59 through 6.18.*Not affected
  • 7.2.13 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.