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

mm/huge_memory: skip device-private PMDs in madvise_free_huge_pmd

madvise_free_pte_range() checks pmd_trans_huge(*pmd) unlocked, then
madvise_free_huge_pmd() takes pmd_trans_huge_lock(). pmd_is_huge()
returns true for a device-private PMD, so orig_pmd can be device-private
and enter the !pmd_present() branch.

Skip device-private PMDs in that non-present branch and continue to out
before calling pmd_folio(). Downgrade the check to VM_WARN_ON_ONCE() so
an unexpected PMD softleaf logs a warning rather than panicking. Drop the
thp_migration_supported() guard: it expands to
IS_ENABLED(CONFIG_ARCH_SUPPORTS_PMD_SOFTLEAF), and both
pmd_is_migration_entry() and pmd_is_device_private_entry() already return
false when that config is not selected, so the guard suppresses only the
case where the warning would already be silent.

Potential trigger: an HMM-based GPU driver races with madvise(MADV_FREE):
migrate_vma_pages() flips the PMD to a device-private entry between the
caller's pmd_trans_huge() check and the callee's pmd_trans_huge_lock().
Published: 2026-09-24
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via kernel crash
Action: Apply patch
AI Analysis

Impact

The vulnerability stems from the Linux memory manager incorrectly treating a device‑private page map entry as a huge page during the free operation. Because the routine checks the pmd_is_huge() flag before confirming that the page is present, a device‑private PMD can enter a code path that expects a present page and invoke operations such as pmd_folio() that are not valid for that entry. This logical error can trigger a kernel panic, resulting in a system reboot or loss of service. The weakness lies in an improper race condition between concurrent memory migration and the madvise free operation, which is a classic example of CWE‑362.

Affected Systems

The affected code path exists in all Linux kernel releases that miss the patch commits 5e3026bf736498115884d6c7bd0308ba29e0474c or ce579dcf730ce5ed8043a5eeea18a3e6706a97e5. The vulnerability is located in the huge page handling logic (mm/huge_memory), so any system running a Linux kernel that supports the HugeTLB interface and the HMM GPU memory model is potentially vulnerable. Systems that use only ordinary pages or that do not enable HMM support are not impacted.

Risk and Exploitability

At the time of this analysis, no CVSS or EPSS score is available, and the vulnerability is not listed in the CISA KEV catalog, so a precise quantification of risk is not possible. The description indicates a race condition between an HMM‑based GPU driver and a user‑initiated madvise(MADV_FREE) that can lead to a kernel panic. The exploit appears to require precise timing between a memory migration to a device‑private entry and the free operation, which makes the attack non‑trivial but not impossible in a controlled environment. Based on the description, it is inferred that the vector could be limited to systems running an HMM‑enabled GPU driver and processes that can initiate large‑page free operations, suggesting that local privileged or root access is likely required to orchestrate the race. The impact, however, remains a denial‑of‑service.

Generated by OpenCVE AI on September 26, 2026 at 01:03 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the Linux kernel to a release that incorporates the patches referenced by commits 5e3026bf736498115884d6c7bd0308ba29e0474c or ce579dcf730ce5ed8043a5eeea18a3e6706a97e5.
  • If a kernel update cannot be performed immediately, temporarily disable HMM support in the GPU driver or avoid executing madvise(MADV_FREE) on large memory regions while GPU workloads are active.
  • Consider postponing or limiting heavy GPU usage on systems that are running unpatched kernels until the fixes are applied.

Generated by OpenCVE AI on September 26, 2026 at 01:03 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 26 Sep 2026 01:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Thu, 24 Sep 2026 15:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: mm/huge_memory: skip device-private PMDs in madvise_free_huge_pmd madvise_free_pte_range() checks pmd_trans_huge(*pmd) unlocked, then madvise_free_huge_pmd() takes pmd_trans_huge_lock(). pmd_is_huge() returns true for a device-private PMD, so orig_pmd can be device-private and enter the !pmd_present() branch. Skip device-private PMDs in that non-present branch and continue to out before calling pmd_folio(). Downgrade the check to VM_WARN_ON_ONCE() so an unexpected PMD softleaf logs a warning rather than panicking. Drop the thp_migration_supported() guard: it expands to IS_ENABLED(CONFIG_ARCH_SUPPORTS_PMD_SOFTLEAF), and both pmd_is_migration_entry() and pmd_is_device_private_entry() already return false when that config is not selected, so the guard suppresses only the case where the warning would already be silent. Potential trigger: an HMM-based GPU driver races with madvise(MADV_FREE): migrate_vma_pages() flips the PMD to a device-private entry between the caller's pmd_trans_huge() check and the callee's pmd_trans_huge_lock().
Title mm/huge_memory: skip device-private PMDs in madvise_free_huge_pmd
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-09-24T15:10:41.370Z

Reserved: 2026-09-17T16:02:15.094Z

Link: CVE-2026-93218

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-24T16:17:16.907

Modified: 2026-09-24T16:17:16.907

Link: CVE-2026-93218

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-26T01:15:08Z

Weaknesses
  • CWE-362

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')