GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel x86/mm: pmd_modify() drops the dirty bit, losing written data on PMD-mapped THP

UnscoredCVE-2026-97945Kernel, userspace & hypervisorcurated

Impact

pmd_modify() masked out the hardware dirty bit, so pmd_mksaveddirty() had nothing left to carry into _PAGE_SAVED_DIRTY. Any pmd_modify() on a writable, dirty PMD - an mprotect(), or NUMA hinting going through do_huge_pmd_numa_page() - silently clears the dirty state. With MADV_FREE on a PMD-mapped anonymous THP, reclaim then finds a lazyfree folio with no dirty bit anywhere and discards data that was rewritten after the madvise; subsequent reads return fresh zero pages. PMD-mapped file THPs lose writeback of rewritten data the same way. This is silent user-space data loss, not a privilege boundary break, and it needs no attacker: the report notes production data lost by users of the Polars analytics library under the right mix of huge pages, MADV_FREE and reclaim pressure. On a GPU fleet the exposure is data-processing and training jobs under memcg pressure producing wrong results with no error anywhere.

Who can reach it

No attacker required - any local workload using MADV_FREE on PMD-mapped transparent huge pages, plus mprotect() or NUMA balancing, under memory pressure. Exposure is highest on nodes with THP enabled, memcg limits and NUMA balancing on, which describes most GPU hosts.

What to do

Update to a stable kernel that keeps _PAGE_DIRTY in pmd_modify()'s preserved mask and reboot each node; there is no runtime mitigation short of disabling transparent huge pages or avoiding MADV_FREE in affected workloads. The record lists stable commits only, no fixed release numbers, so map them onto your vendor kernel. Treat results produced by affected jobs as suspect.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.