CVE-2026-93217

CVE-2026-93217

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/madvise: skip device-private PMDs in cold and pageout walks

madvise_cold_or_pageout_pte_range() takes pmd_trans_huge_lock(), whose

pmd_is_huge() check returns true for a device-private PMD. The subsequent

!pmd_present() branch has a VM_BUG_ON() asserting migration is the only

allowed non-present case; a device-private PMD trips it.

Skip device-private PMDs in that non-present branch and continue to

huge_unlock 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_COLD)/MADV_PAGEOUT: pmd_trans_huge(*pmd) reads true, then

migrate_vma_pages() flips the PMD to a device-private entry before the PMD

lock is acquired.

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/madvise: skip device-private PMDs in cold and pageout walks
    cvelistv5