summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVishal Moola (Oracle) <vishal.moola@gmail.com>2026-03-03 22:48:24 +0300
committerDave Hansen <dave.hansen@linux.intel.com>2026-03-04 21:08:54 +0300
commitc22ca4a96300c8ed01fe2282d2dd9e9a75032379 (patch)
tree693b82860c51d57bf578ec28f12c624917196ac6
parent11439c4635edd669ae435eec308f4ab8a0804808 (diff)
downloadlinux-c22ca4a96300c8ed01fe2282d2dd9e9a75032379.tar.xz
x86/mm/pat: Convert pte code to use page table apis
Use the ptdesc APIs for all page table allocation and free sites to allow their separate allocation from struct page in the future. Convert the PTE allocation and free sites to use the generic page table APIs, as they already use ptdescs. Pass through init_mm since these are kernel page tables; otherwise, pte_alloc_one_kernel() becomes a no-op. Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Acked-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Link: https://patch.msgid.link/20260303194828.1406905-2-vishal.moola@gmail.com
-rw-r--r--arch/x86/mm/pat/set_memory.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c
index 40581a720fe8..a4b1b329c23d 100644
--- a/arch/x86/mm/pat/set_memory.c
+++ b/arch/x86/mm/pat/set_memory.c
@@ -1408,7 +1408,7 @@ static bool try_to_free_pte_page(pte_t *pte)
if (!pte_none(pte[i]))
return false;
- free_page((unsigned long)pte);
+ pte_free_kernel(&init_mm, pte);
return true;
}
@@ -1539,7 +1539,7 @@ static void unmap_pud_range(p4d_t *p4d, unsigned long start, unsigned long end)
static int alloc_pte_page(pmd_t *pmd)
{
- pte_t *pte = (pte_t *)get_zeroed_page(GFP_KERNEL);
+ pte_t *pte = pte_alloc_one_kernel(&init_mm);
if (!pte)
return -1;