> For normal Kernel-MM operations, vm_normal_page() should be used to > get "struct page" based on vma+addr+pte combination, but > page_table_check does not use vma for its operation in order to > strengthen the verification of no invalid page sharing. But, even > vm_normal_page() can cause access to the "struct page" for VM_PFNMAP > if pfn_valid(pfn) is true. So, vm_normal_page() can return a struct > page for a user mapped slab page. Only for !ARCH_HAS_PTE_SPECIAL case, otherwise NULL is returned. Pasha