[PATCH v7 2/7] arm64/vmalloc: Allow arch_vmap_pte_range_map_size to batch multiple CONT_PTE

David Carlier devnexen at gmail.com
Tue Jul 21 11:17:29 PDT 2026


Barry, Wen - the returned span is capped at PMD_SIZE >> 1 but only
checked for CONT_PTE_SIZE alignment. In the batched vmap() path pages
are only contiguous within a naturally aligned block, so when a PMD
boundary splits a batch the next region starts mid block and the span
runs past the contiguous run - set_huge_pte_at() maps the wrong pages,
tail of the array left unmapped, no warning.

What do you think of clamping the span to the pfn physical alignment,
like 8xx does:

	while (!IS_ALIGNED(PFN_PHYS(pfn), size))
		size >>= 1;

Cheers.



More information about the linux-arm-kernel mailing list