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

drm/xe/vm: Fix SVM leak on resv obj alloc failure in xe_vm_create()

Commit 9e9787414882 ("drm/xe/userptr: replace xe_hmm with gpusvm") made
xe_svm_init() unconditional in xe_vm_create() and extended it to also
initialize a "simple" gpusvm state for non-fault-mode VMs. The matching
xe_svm_fini() call in xe_vm_close_and_put() was updated to run
unconditionally, but the error unwind path in xe_vm_create() was not.

On the drm_gpuvm_resv_object_alloc() failure path, xe_svm_init() has
already succeeded but xe_svm_fini() is only called when
XE_VM_FLAG_FAULT_MODE is set. For non-fault-mode VMs this leaves
vm->svm.gpusvm partially initialized and leaks the resources allocated
by drm_gpusvm_init().

For fault-mode VMs, xe_svm_init() additionally acquires the pagemap
owner via drm_pagemap_acquire_owner() and the pagemaps via
xe_svm_get_pagemaps(). Those resources are released by xe_svm_close(),
not xe_svm_fini(). On the same error path, xe_svm_close() is not
called either, so fault-mode VMs leak the pagemap owner and pagemaps.

Fix both leaks:

- Call xe_svm_fini() unconditionally on the err_svm_fini path, matching
the unconditional xe_svm_init() call. Move the vm->size = 0
assignment out of the conditional so the xe_vm_is_closed() assert in
xe_svm_fini() (and xe_svm_close()) holds for both modes.

- Call xe_svm_close() for fault-mode VMs before xe_svm_fini(), matching
the ordering used in xe_vm_close_and_put().

(cherry picked from commit ca2a3587d577ba764e0fe628fb676244fc33ddd4)
Published: 2026-08-10
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel DRM/xe subsystem contains a bug in xe_vm_create where a failure to allocate a reserved object causes xe_svm_init to run unconditionally while the corresponding cleanup function xe_svm_fini is only executed for fault‑mode VMs. As a result, the GPU virtual memory manager and, for fault‑mode VMs, the pagemap owner and pagemaps remain allocated, producing a leak in kernel memory and GPU resources. This flaw corresponds to CWE‑772, a resource‑leak weakness, which could lead to denial‑of‑service if resources are exhausted.

Affected Systems

All Linux kernel releases using the generic drm/xe drivers that contain the unpatched code, covering every distribution that ships a standard Linux kernel prior to the commit that introduces the fix.

Risk and Exploitability

The EPSS score indicates lower than 1% probability of exploitation. The CVSS score of 7.8 signals high severity. Based on the description, it is inferred that the leak could allow a local or privileged attacker to exhaust GPU memory or pagemap resources, potentially resulting in denial of service. The flaw resides in kernel space, representing a local‑privilege or privilege‑escalation risk if an attacker can create GPU virtual machines.

Generated by OpenCVE AI on August 14, 2026 at 00:14 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel update that includes the commit fixing the xe_svm_init/xe_svm_fini mismatch; this is the official solution.
  • If a kernel update cannot be applied immediately, restrict or disable GPU virtualization or the SVM feature for untrusted users by setting the appropriate kernel module options or sysfs attributes to prevent xe_vm_create from running, thereby limiting the ability to trigger the leak.
  • After applying the fix or restriction, restart any affected services or the system to ensure that leaked GPU memory or pagemap resources are reclaimed.

Generated by OpenCVE AI on August 14, 2026 at 00:14 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 13 Aug 2026 22:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Thu, 13 Aug 2026 05:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-401

Wed, 12 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-772
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Low


Mon, 10 Aug 2026 17:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-401

Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: drm/xe/vm: Fix SVM leak on resv obj alloc failure in xe_vm_create() Commit 9e9787414882 ("drm/xe/userptr: replace xe_hmm with gpusvm") made xe_svm_init() unconditional in xe_vm_create() and extended it to also initialize a "simple" gpusvm state for non-fault-mode VMs. The matching xe_svm_fini() call in xe_vm_close_and_put() was updated to run unconditionally, but the error unwind path in xe_vm_create() was not. On the drm_gpuvm_resv_object_alloc() failure path, xe_svm_init() has already succeeded but xe_svm_fini() is only called when XE_VM_FLAG_FAULT_MODE is set. For non-fault-mode VMs this leaves vm->svm.gpusvm partially initialized and leaks the resources allocated by drm_gpusvm_init(). For fault-mode VMs, xe_svm_init() additionally acquires the pagemap owner via drm_pagemap_acquire_owner() and the pagemaps via xe_svm_get_pagemaps(). Those resources are released by xe_svm_close(), not xe_svm_fini(). On the same error path, xe_svm_close() is not called either, so fault-mode VMs leak the pagemap owner and pagemaps. Fix both leaks: - Call xe_svm_fini() unconditionally on the err_svm_fini path, matching the unconditional xe_svm_init() call. Move the vm->size = 0 assignment out of the conditional so the xe_vm_is_closed() assert in xe_svm_fini() (and xe_svm_close()) holds for both modes. - Call xe_svm_close() for fault-mode VMs before xe_svm_fini(), matching the ordering used in xe_vm_close_and_put(). (cherry picked from commit ca2a3587d577ba764e0fe628fb676244fc33ddd4)
Title drm/xe/vm: Fix SVM leak on resv obj alloc failure in xe_vm_create()
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-08-17T05:02:34.595Z

Reserved: 2026-07-30T09:28:09.380Z

Link: CVE-2026-68298

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-10T13:20:19.323

Modified: 2026-08-17T05:18:32.550

Link: CVE-2026-68298

cve-icon Redhat

Severity : Low

Publid Date: 2026-08-10T00:00:00Z

Links: CVE-2026-68298 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-14T00:15:04Z

Weaknesses
  • CWE-772

    Missing Release of Resource after Effective Lifetime