[PATCH] arm64/mm: Drop setting PTE_TYPE_PAGE in pte_mkcont()

From: Anshuman Khandual
Date: Sun Nov 03 2024 - 23:16:42 EST


PTE_TYPE_PAGE bits were being set in pte_mkcont() because PTE_TABLE_BIT was
being cleared in pte_mkhuge(). But after arch_make_huge_pte() modification,
which dropped pte_mkhuge() completely, setting back PTE_TYPE_PAGE bits are
no longer necessary. Hence this changes pte_mkcont() to just set PTE_CONT.

Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Will Deacon <will@xxxxxxxxxx>
Cc: Ard Biesheuvel <ardb@xxxxxxxxxx>
Cc: Ryan Roberts <ryan.roberts@xxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>
---
This applies on v6.12-rc6 after applying the earlier arch_make_huge_pte()
re-organization patch.

https://lore.kernel.org/all/20241029044529.2624785-1-anshuman.khandual@xxxxxxx/

arch/arm64/include/asm/pgtable.h | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
index fa4c32a9f572..17f7fb05e79e 100644
--- a/arch/arm64/include/asm/pgtable.h
+++ b/arch/arm64/include/asm/pgtable.h
@@ -265,8 +265,7 @@ static inline pte_t pte_mkspecial(pte_t pte)

static inline pte_t pte_mkcont(pte_t pte)
{
- pte = set_pte_bit(pte, __pgprot(PTE_CONT));
- return set_pte_bit(pte, __pgprot(PTE_TYPE_PAGE));
+ return set_pte_bit(pte, __pgprot(PTE_CONT));
}

static inline pte_t pte_mknoncont(pte_t pte)
--
2.30.2