On 4/8/25 02:52, Kevin Brodsky wrote: > Page table pages are normally freed using the appropriate helper for > the given page table level. On x86, pud_free_pmd_page() and > pmd_free_pte_page() are an exception to the rule: they call > free_page() directly. > > Constructor/destructor calls are about to be introduced for kernel > PTEs. To avoid missing dtor calls in those helpers, free the PTE > pages using pte_free_kernel() instead of free_page(). > > While at it also use pmd_free() instead of calling pagetable_dtor() > explicitly at the PMD level.
Looks sane and adding consistency is nice. Are there any tests for folio_test_pgtable() at free_page() time? If we had that, it would make it less likely that another free_page() user could sneak in without calling the destructor. Acked-by: Dave Hansen <dave.han...@linux.intel.com>