Based on Linus' master. While working on improving vm_normal_page() and friends, I stumbled over this issues: refcounted "normal" pages must not be marked using pmd_special() / pud_special().
Fortunately, so far there doesn't seem to be serious damage. This is only compile-tested so far. Still looking for an easy way to test PMD/PUD mappings with DAX. Any tests I can easily run? Cc: Andrew Morton <[email protected]> Cc: Alistair Popple <[email protected]> Cc: Lorenzo Stoakes <[email protected]> Cc: "Liam R. Howlett" <[email protected]> Cc: Vlastimil Babka <[email protected]> Cc: Mike Rapoport <[email protected]> Cc: Suren Baghdasaryan <[email protected]> Cc: Michal Hocko <[email protected]> Cc: Zi Yan <[email protected]> Cc: Baolin Wang <[email protected]> Cc: Nico Pache <[email protected]> Cc: Ryan Roberts <[email protected]> Cc: Dev Jain <[email protected]> Cc: Dan Williams <[email protected]> David Hildenbrand (2): mm/huge_memory: don't mark refcounted pages special in vmf_insert_folio_pmd() mm/huge_memory: don't mark refcounted pages special in vmf_insert_folio_pud() include/linux/mm.h | 15 ++++++++++ mm/huge_memory.c | 72 +++++++++++++++++++++++++++++++++++----------- 2 files changed, 70 insertions(+), 17 deletions(-) base-commit: a9dfb7db96f7bc1f30feae673aab7fdbfbc94e9c -- 2.49.0

