mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Sebastian Ene <sebastianene@google.com>
To: linux-kernel@vger.kernel.org
Cc: kernel-team@android.com, will@kernel.org, ryan.roberts@arm.com,
	mark.rutland@arm.com, maz@kernel.org, vdonnefort@google.com,
	Sebastian Ene <sebastianene@google.com>
Subject: [PATCH 11/11] arm64: ptdump: Fix format output during stage-2 pagetable dumping
Date: Wed, 27 Sep 2023 11:25:17 +0000	[thread overview]
Message-ID: <20230927112517.2631674-12-sebastianene@google.com> (raw)
In-Reply-To: <20230927112517.2631674-1-sebastianene@google.com>

Fix two issues where the printed address range from debugfs was not showing
out correctly when trying to read from
/sys/kernel/debug/host_stage2_kernel_page_tables entry.

The first issue was printing to debugfs the following:
0x0000010000000000-0x0000000000000000    16777215T PGD

If the st->start_address was larger than the current addr the delta
variable used to display the size of the address range was overflowing.
The second issue was printing the following wrong IPA range:
0x0000000000000000-0x0000000000000000           0E PGD

Validate the current address range before printing it from the debugfs
entry.

Signed-off-by: Sebastian Ene <sebastianene@google.com>
---
 arch/arm64/mm/ptdump.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64/mm/ptdump.c b/arch/arm64/mm/ptdump.c
index 45ff4ebae01a..2c21ba9b47d1 100644
--- a/arch/arm64/mm/ptdump.c
+++ b/arch/arm64/mm/ptdump.c
@@ -430,6 +430,9 @@ static void note_page(struct ptdump_state *pt_st, unsigned long addr, int level,
 		const char *unit = units;
 		unsigned long delta;
 
+		if (st->start_address >= addr)
+			goto update_state;
+
 		if (st->current_prot) {
 			note_prot_uxn(st, addr);
 			note_prot_wx(st, addr);
@@ -455,6 +458,7 @@ static void note_page(struct ptdump_state *pt_st, unsigned long addr, int level,
 			pt_dump_seq_printf(st->seq, "---[ %s ]---\n", st->marker->name);
 		}
 
+update_state:
 		st->start_address = addr;
 		st->current_prot = prot;
 		st->level = level;
-- 
2.42.0.515.g380fc7ccd1-goog


  parent reply	other threads:[~2023-09-27 11:26 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-27 11:25 [PATCH 00/11] arm64: ptdump: View the host stage-2 page-tables Sebastian Ene
2023-09-27 11:25 ` [PATCH 01/11] KVM: arm64: Add snap shooting the host stage-2 pagetables Sebastian Ene
2023-09-28 18:33   ` kernel test robot
2023-09-27 11:25 ` [PATCH 02/11] arm64: ptdump: Use the mask from the state structure Sebastian Ene
2023-09-27 11:25 ` [PATCH 03/11] arm64: ptdump: Add the walker function to the ptdump info structure Sebastian Ene
2023-09-27 11:25 ` [PATCH 04/11] KVM: arm64: Move pagetable definitions to common header Sebastian Ene
2023-09-27 11:25 ` [PATCH 05/11] arm64: ptdump: Introduce stage-2 pagetables format description Sebastian Ene
2023-09-27 11:25 ` [PATCH 06/11] arm64: ptdump: Register a debugfs entry for the host stage-2 page-tables Sebastian Ene
2023-09-27 11:25 ` [PATCH 07/11] arm64: ptdump: Snapshot the host stage-2 pagetables Sebastian Ene
2023-09-27 11:25 ` [PATCH 08/11] arm64: ptdump: Parse the host stage-2 page-tables from the snapshot Sebastian Ene
2023-09-27 11:25 ` [PATCH 09/11] arm64: ptdump: Interpret memory attributes based on runtime configuration Sebastian Ene
2023-09-27 11:25 ` [PATCH 10/11] arm64: ptdump: Interpret pKVM ownership annotations Sebastian Ene
2023-09-27 11:25 ` Sebastian Ene [this message]
2023-09-29 13:11 ` [PATCH 00/11] arm64: ptdump: View the host stage-2 page-tables Marc Zyngier
2023-09-30 16:31   ` Sebastian Ene

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230927112517.2631674-12-sebastianene@google.com \
    --to=sebastianene@google.com \
    --cc=kernel-team@android.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=maz@kernel.org \
    --cc=ryan.roberts@arm.com \
    --cc=vdonnefort@google.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®