Re: [PATCH v2 02/12] x86: pgtable: Always use pte_free_kernel()
From: Dave Hansen
Date: Tue Apr 08 2025 - 11:27:37 EST
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.hansen@xxxxxxxxxxxxxxx>