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

drm/xe: free madvise VMA array on L2 flush failure

xe_vm_madvise_ioctl() allocates madvise_range.vmas in get_vmas().
After get_vmas() succeeds with at least one VMA, error paths must go
through free_vmas so the array is released before the madvise details are
destroyed.

The L2 flush validation path added for PAT madvise rejects some
SVM/userptr ranges after get_vmas() has succeeded, but jumps directly to
madv_fini. This skips kfree(madvise_range.vmas), leaking the VMA array on
each failed ioctl.

Jump to free_vmas instead, matching the other validation failure paths
after get_vmas() has succeeded.

(cherry picked from commit c3a1c3579b1250060da73507a4acef712974c78a)
Published: 2026-08-15
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel driver for Intel Xe graphics allocates an array of virtual memory areas (VMA) during xe_vm_madvise_ioctl. When the new L2 flush validation routine rejects certain SVM/userptr ranges after that allocation, the code jumps directly to the finalisation routine without freeing the VMA array, causing a memory leak. Repeated execution of the failing ioctl would gradually consume kernel address space and memory, potentially leading to kernel out‑of‑memory conditions and service disruption. The weakness is a resource management defect (CWE‑772). No privilege escalation or arbitrary code execution is possible, only local memory exhaustion.

Affected Systems

The flaw exists in the DRM xe component of the Linux kernel. All kernel releases that include the xe driver and have not incorporated commit c3a1c3579b1250060da73507a4acef712974c78a are affected. Affected architectures include mainstream desktop and server kernels that ship Intel graphics support. No specific version range is supplied in the advisory, so any kernel including the driver is potentially vulnerable until fixed.

Risk and Exploitability

The CVSS score of 5.5 indicates a moderate severity. The EPSS score is < 1%, suggesting a very low likelihood of exploitation in the wild, and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is local; any user with permission to access /dev/dri/* devices can invoke xe_vm_madvise_ioctl to trigger the leak. While elevated privileges are not required, a persistent or repeated attack could exhaust system memory, causing kernel crashes or degraded system availability.

Generated by OpenCVE AI on August 22, 2026 at 08:56 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes commit c3a1c3579b1250060da73507a4acef712974c78a, which restores proper deallocation of the VMA array.
  • If an immediate kernel upgrade is not possible, apply the patch manually to the xe driver source, rebuild the kernel, and install the patched module.
  • Restrict write access to /dev/dri/* devices that expose xe_vm_madvise_ioctl to trusted users only, limiting unprivileged processes from exercising the flaw.
  • Monitor kernel memory usage for abnormal growth in VMA arrays and set alerts if usage exceeds normal thresholds.

Generated by OpenCVE AI on August 22, 2026 at 08:56 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 22 Aug 2026 07:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-399

Wed, 19 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

Moderate


Sat, 15 Aug 2026 10:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-399

Sat, 15 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: drm/xe: free madvise VMA array on L2 flush failure xe_vm_madvise_ioctl() allocates madvise_range.vmas in get_vmas(). After get_vmas() succeeds with at least one VMA, error paths must go through free_vmas so the array is released before the madvise details are destroyed. The L2 flush validation path added for PAT madvise rejects some SVM/userptr ranges after get_vmas() has succeeded, but jumps directly to madv_fini. This skips kfree(madvise_range.vmas), leaking the VMA array on each failed ioctl. Jump to free_vmas instead, matching the other validation failure paths after get_vmas() has succeeded. (cherry picked from commit c3a1c3579b1250060da73507a4acef712974c78a)
Title drm/xe: free madvise VMA array on L2 flush 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-08-17T05:12:16.211Z

Reserved: 2026-08-09T03:40:39.918Z

Link: CVE-2026-72311

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:22:03.913

Modified: 2026-08-17T06:18:34.220

Link: CVE-2026-72311

cve-icon Redhat

Severity : Moderate

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

Links: CVE-2026-72311 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T09:00:10Z

Weaknesses
  • CWE-772

    Missing Release of Resource after Effective Lifetime