An invalidated pmd should still cause pmd_leaf() to return true. Let's test for that to ensure all arches remain consistent. Signed-off-by: Ryan Roberts <ryan.roberts@xxxxxxx> --- Hi Andrew, This applies on top of v6.9-rc5. It came out of a discussion with Catalin around the pmd_mkinvalid() bug (the fix for which I just posted). I've run the new test on both arm64 and x86_64. Thanks, Ryan mm/debug_vm_pgtable.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/debug_vm_pgtable.c b/mm/debug_vm_pgtable.c index 65c19025da3d..57e9cb0820ab 100644 --- a/mm/debug_vm_pgtable.c +++ b/mm/debug_vm_pgtable.c @@ -981,6 +981,7 @@ static void __init pmd_thp_tests(struct pgtable_debug_args *args) #ifndef __HAVE_ARCH_PMDP_INVALIDATE WARN_ON(!pmd_trans_huge(pmd_mkinvalid(pmd_mkhuge(pmd)))); WARN_ON(!pmd_present(pmd_mkinvalid(pmd_mkhuge(pmd)))); + WARN_ON(!pmd_leaf(pmd_mkinvalid(pmd_mkhuge(pmd)))); #endif /* __HAVE_ARCH_PMDP_INVALIDATE */ } -- 2.25.1