[PATCH] mm/pgtable: convert pgtable_t to ptdesc pointer
Alex Shi
seakeel at gmail.com
Wed Jan 7 18:23:19 PST 2026
On 2026/1/7 22:48, Matthew Wilcox wrote:
> On Wed, Jan 07, 2026 at 05:28:36PM +0800, Alex Shi wrote:
>> Right, I will fix this. and sent the 2nd version.
> No, the patch is stupid and wrong. Don't send a v2. You seem to have a
> hairtrigger resend, so I'm trying to prevent a v2 being sent instead of
> sending a patient reply.
Hi Matthew,
I hear you—no v2 will be sent.
but sorry for a bit confusing, what's your expected fix? is the too
quick resenting? or the direction to alignment pgtable_t with ptdesc is
wrong?
If it's the first. the new change for review address Mike's concern.
diff --git a/arch/arm/include/asm/pgalloc.h b/arch/arm/include/asm/pgalloc.h
index a17f01235c29..a204c3ac800a 100644
--- a/arch/arm/include/asm/pgalloc.h
+++ b/arch/arm/include/asm/pgalloc.h
@@ -94,13 +94,13 @@ pte_alloc_one_kernel(struct mm_struct *mm)
static inline pgtable_t
pte_alloc_one(struct mm_struct *mm)
{
- struct page *pte;
+ struct ptdesc *pte;
pte = __pte_alloc_one(mm, GFP_PGTABLE_USER | PGTABLE_HIGHMEM);
if (!pte)
return NULL;
- if (!PageHighMem(pte))
- clean_pte_table(page_address(pte));
+ if (!PageHighMem(ptdesc_page(pte)))
+ clean_pte_table(ptdesc_address(pte));
return pte;
}
@@ -141,7 +141,7 @@ pmd_populate(struct mm_struct *mm, pmd_t *pmdp,
pgtable_t ptep)
else
prot = _PAGE_USER_TABLE;
- __pmd_populate(pmdp, page_to_phys(ptep), prot);
+ __pmd_populate(pmdp, page_to_phys(ptdesc_page(ptep)), prot);
}
#endif /* CONFIG_MMU */
More information about the linux-riscv
mailing list