return table;
 }
 
-static void pagetable_dtor_free(struct ptdesc *ptdesc)
-{
-       pagetable_dtor(ptdesc);
-       pagetable_free(ptdesc);
-}
-
 void page_table_free(struct mm_struct *mm, unsigned long *table)
 {
        struct ptdesc *ptdesc = virt_to_ptdesc(table);
 
 {
        struct ptdesc *ptdesc = page_ptdesc(pte_page);
 
-       pagetable_dtor(ptdesc);
-       pagetable_free(ptdesc);
+       pagetable_dtor_free(ptdesc);
 }
 
 
        struct ptdesc *ptdesc = virt_to_ptdesc(pmd);
 
        BUG_ON((unsigned long)pmd & (PAGE_SIZE-1));
-       pagetable_dtor(ptdesc);
-       pagetable_free(ptdesc);
+       pagetable_dtor_free(ptdesc);
 }
 #endif
 
        struct ptdesc *ptdesc = virt_to_ptdesc(pud);
 
        BUG_ON((unsigned long)pud & (PAGE_SIZE-1));
-       pagetable_dtor(ptdesc);
-       pagetable_free(ptdesc);
+       pagetable_dtor_free(ptdesc);
 }
 
 #ifndef __HAVE_ARCH_PUD_FREE
        struct ptdesc *ptdesc = virt_to_ptdesc(p4d);
 
        BUG_ON((unsigned long)p4d & (PAGE_SIZE-1));
-       pagetable_dtor(ptdesc);
-       pagetable_free(ptdesc);
+       pagetable_dtor_free(ptdesc);
 }
 
 #ifndef __HAVE_ARCH_P4D_FREE
 
 {
        struct ptdesc *ptdesc = (struct ptdesc *)table;
 
-       pagetable_dtor(ptdesc);
-       pagetable_free(ptdesc);
+       pagetable_dtor_free(ptdesc);
 }
 #endif
 
 
        lruvec_stat_sub_folio(folio, NR_PAGETABLE);
 }
 
+static inline void pagetable_dtor_free(struct ptdesc *ptdesc)
+{
+       pagetable_dtor(ptdesc);
+       pagetable_free(ptdesc);
+}
+
 static inline bool pagetable_pte_ctor(struct ptdesc *ptdesc)
 {
        struct folio *folio = ptdesc_folio(ptdesc);