--- x/mm/filemap.c +++ y/mm/filemap.c @@ -3495,6 +3495,8 @@ static vm_fault_t filemap_map_folio_rang if (mmap_miss > 0) mmap_miss--; + if (pte_protnone(vmf->pte[count])) + goto skip; /* * NOTE: If there're PTE markers, we'll leave them to be * handled in the specific fault path, and it'll prohibit the