CVE-2026-93218

CVE-2026-93218

published September 24, 2026

CVSS
—
EPSS
0%
Percentile
4.3
In the wild
Unconfirmed
What it is

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().

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00155 · 4.3th percentile
Published
2026-09-24T20:17Z
References (2)
EPSS history
Timeline
  • 26 SEP 03:27Z
    EPSS moved — → 0%
    epss
  • 24 SEP 15:10Z
    mm/huge_memory: skip device-private PMDs in madvise_free_huge_pmd
    cvelistv5