On Thu, Jul 25, 2019 at 10:38:58PM +0100, Russell King - ARM Linux admin wrote: > On Thu, Jul 25, 2019 at 07:39:21AM -0700, Matthew Wilcox wrote: > > But 'page' isn't necessarily PMD-aligned. I don't think we can rely on > > architectures doing the right thing if asked to make a PMD for a randomly > > aligned page. > > > > How about finding the physical address of something like kernel_init(), > > and using the corresponding pte/pmd/pud/p4d/pgd that encompasses that > > address? It's also better to pass in the pfn/page rather than using global > > variables to communicate to the test functions. > > There are architectures (32-bit ARM) where the kernel is mapped using > section mappings, and we don't expect the Linux page table walking to > work for section mappings. This test doesn't go so far as to insert the PTE/PMD/PUD/... into the page tables. It merely needs an appropriately aligned PFN to create a PTE/PMD/PUD/... from.