[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