]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64/ptdump: Test both PTE_TABLE_BIT and PTE_VALID for block mappings
authorAnshuman Khandual <anshuman.khandual@arm.com>
Tue, 5 Nov 2024 04:41:54 +0000 (10:11 +0530)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 5 Nov 2024 11:56:29 +0000 (11:56 +0000)
Test both PTE_TABLE_BIT and PTE_VALID for block mappings, similar to KVM S2
ptdump. This ensures consistency in identifying block mappings, both in the
S1 and the S2 page tables. Besides being kernel page tables, there will not
be any unmapped (!PTE_VALID) block mappings.

Cc: Will Deacon <will@kernel.org>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20241105044154.4064181-1-anshuman.khandual@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/mm/ptdump.c

index 264c5f9b97d86640a0a613f29a746ede4498dd41..688fbe0271ca4d8b2286bc90a463318ad13ccc8c 100644 (file)
@@ -80,10 +80,10 @@ static const struct ptdump_prot_bits pte_bits[] = {
                .set    = "CON",
                .clear  = "   ",
        }, {
-               .mask   = PTE_TABLE_BIT,
-               .val    = PTE_TABLE_BIT,
-               .set    = "   ",
-               .clear  = "BLK",
+               .mask   = PTE_TABLE_BIT | PTE_VALID,
+               .val    = PTE_VALID,
+               .set    = "BLK",
+               .clear  = "   ",
        }, {
                .mask   = PTE_UXN,
                .val    = PTE_UXN,