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

drm/xe: Fix bo leak in xe_dma_buf_init_obj() on allocation failure

When drm_gpuvm_resv_object_alloc() fails, the pre-allocated storage bo
is not freed. Add xe_bo_free(storage) before returning the error.

xe_dma_buf_init_obj() calls xe_bo_init_locked(), which frees the bo on
error. Therefore, xe_dma_buf_init_obj() must also free the bo on its own
error paths. Otherwise, since xe_gem_prime_import() cannot distinguish
whether the failure originated from xe_dma_buf_init_obj() or from
xe_bo_init_locked(), it cannot safely decide whether the bo should be
freed.

Add comments documenting the ownership semantics: on success, ownership
of storage is transferred to the returned drm_gem_object; on failure,
storage is freed before returning.

v2: Add comments to explain the free logic.

(cherry picked from commit 78a6c5f899f22338bbf48b44fb8950409c5a69b9)
Published: 2026-05-28
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is a memory leak in the Linux kernel’s DRM/xe subsystem, occurring when the function xe_dma_buf_init_obj() fails to free a pre‑allocated buffer object. The unreleased buffer is owned by the kernel and is not reclaimed on error paths, so repeated failures accumulate kernel memory usage. This leakage can lead to gradual exhaustion of critical kernel memory resources, potentially destabilizing the system or causing a denial of service.

Affected Systems

The flaw exists in any kernel that includes the Linux DRM/xe code path before the commit referenced in the advisory (78a6c5f899f22338bbf48b44fb8950409c5a69b9). Kernels that have not yet merged this change are affected, regardless of the specific distribution or version. There is no indication that only particular kernel configurations are impacted; the leak is present in the common code path for DMA buffer initialization via DRM ioctls.

Risk and Exploitability

The bug is exploitable only in environments where a process can invoke DRM DMA buffer initialization through privileged interface calls. The attack does not grant arbitrary code execution but can be leveraged for local resource exhaustion. The EPSS score is unavailable and the flaw is not listed in the CISA KEV catalog. With no disclosed CVSS score, the severity is inferred to be medium to high based on the potential for kernel memory depletion and the likelihood that an attacker may trigger repeated failures through crafted inputs.

Generated by OpenCVE AI on May 28, 2026 at 12:59 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the kernel to a version that contains commit 78a6c5f899f22338bbf48b44fb8950409c5a69b9, which removes the memory leak in xe_dma_buf_init_obj().
  • If upgrading the kernel is not possible, temporarily disable or unload the DRM/xe video driver module to prevent new DMA buffer initializations that could trigger the leak.
  • Implement active monitoring of kernel memory usage and configure alerts for abnormal consumption to trigger early remediation before resource exhaustion occurs.

Generated by OpenCVE AI on May 28, 2026 at 12:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 28 May 2026 13:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-401

Thu, 28 May 2026 10:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: drm/xe: Fix bo leak in xe_dma_buf_init_obj() on allocation failure When drm_gpuvm_resv_object_alloc() fails, the pre-allocated storage bo is not freed. Add xe_bo_free(storage) before returning the error. xe_dma_buf_init_obj() calls xe_bo_init_locked(), which frees the bo on error. Therefore, xe_dma_buf_init_obj() must also free the bo on its own error paths. Otherwise, since xe_gem_prime_import() cannot distinguish whether the failure originated from xe_dma_buf_init_obj() or from xe_bo_init_locked(), it cannot safely decide whether the bo should be freed. Add comments documenting the ownership semantics: on success, ownership of storage is transferred to the returned drm_gem_object; on failure, storage is freed before returning. v2: Add comments to explain the free logic. (cherry picked from commit 78a6c5f899f22338bbf48b44fb8950409c5a69b9)
Title drm/xe: Fix bo leak in xe_dma_buf_init_obj() on allocation failure
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-05-28T09:40:42.819Z

Reserved: 2026-05-13T15:03:33.106Z

Link: CVE-2026-46224

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-05-28T10:16:38.037

Modified: 2026-05-28T13:44:01.663

Link: CVE-2026-46224

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-28T15:30:04Z

Weaknesses