diff mbox series

arm64/ptdump: Test both PTE_TABLE_BIT and PTE_VALID for block mappings

Message ID 20241105044154.4064181-1-anshuman.khandual@arm.com (mailing list archive)
State New
Headers show
Series arm64/ptdump: Test both PTE_TABLE_BIT and PTE_VALID for block mappings | expand

Commit Message

Anshuman Khandual Nov. 5, 2024, 4:41 a.m. UTC
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: Catalin Marinas <catalin.marinas@arm.com>
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>
---
This patch applies on v6.12-rc6

 arch/arm64/mm/ptdump.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Catalin Marinas Nov. 5, 2024, 1:51 p.m. UTC | #1
On Tue, 05 Nov 2024 10:11:54 +0530, Anshuman Khandual wrote:
> 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.
> 
> 

Applied to arm64 (for-next/misc), thanks!

[1/1] arm64/ptdump: Test both PTE_TABLE_BIT and PTE_VALID for block mappings
      https://git.kernel.org/arm64/c/dc9b74a76320
diff mbox series

Patch

diff --git a/arch/arm64/mm/ptdump.c b/arch/arm64/mm/ptdump.c
index 264c5f9b97d8..688fbe0271ca 100644
--- a/arch/arm64/mm/ptdump.c
+++ b/arch/arm64/mm/ptdump.c
@@ -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,