* [PATCH] arm64: fault: Print info about page table structure when dumping pte
@ 2017-05-30 10:10 Will Deacon
2017-05-30 11:16 ` Mark Rutland
0 siblings, 1 reply; 3+ messages in thread
From: Will Deacon @ 2017-05-30 10:10 UTC (permalink / raw)
To: linux-arm-kernel
Whilst debugging a remote crash, I noticed that show_pte is unhelpful
when it comes to describing the structure of the page table being walked.
This is easily fixed by printing out the page table (swapper vs user),
page size and virtual address size when displaying the PGD address.
Signed-off-by: Will Deacon <will.deacon@arm.com>
---
arch/arm64/mm/fault.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
index 37b95dff0b07..ee6085a922b6 100644
--- a/arch/arm64/mm/fault.c
+++ b/arch/arm64/mm/fault.c
@@ -89,7 +89,9 @@ void show_pte(struct mm_struct *mm, unsigned long addr)
if (!mm)
mm = &init_mm;
- pr_alert("pgd = %p\n", mm->pgd);
+ pr_alert("%s pgtable: %luk pages, %u-bit VAs, pgd = %p\n",
+ mm == &init_mm ? "swapper" : "user", PAGE_SIZE / SZ_1K,
+ VA_BITS, mm->pgd);
pgd = pgd_offset(mm, addr);
pr_alert("[%08lx] *pgd=%016llx", addr, pgd_val(*pgd));
--
2.1.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH] arm64: fault: Print info about page table structure when dumping pte
2017-05-30 10:10 [PATCH] arm64: fault: Print info about page table structure when dumping pte Will Deacon
@ 2017-05-30 11:16 ` Mark Rutland
2017-05-30 11:19 ` Will Deacon
0 siblings, 1 reply; 3+ messages in thread
From: Mark Rutland @ 2017-05-30 11:16 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, May 30, 2017 at 11:10:47AM +0100, Will Deacon wrote:
> Whilst debugging a remote crash, I noticed that show_pte is unhelpful
> when it comes to describing the structure of the page table being walked.
> This is easily fixed by printing out the page table (swapper vs user),
> page size and virtual address size when displaying the PGD address.
>
> Signed-off-by: Will Deacon <will.deacon@arm.com>
> ---
> arch/arm64/mm/fault.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
> index 37b95dff0b07..ee6085a922b6 100644
> --- a/arch/arm64/mm/fault.c
> +++ b/arch/arm64/mm/fault.c
> @@ -89,7 +89,9 @@ void show_pte(struct mm_struct *mm, unsigned long addr)
> if (!mm)
> mm = &init_mm;
>
> - pr_alert("pgd = %p\n", mm->pgd);
> + pr_alert("%s pgtable: %luk pages, %u-bit VAs, pgd = %p\n",
> + mm == &init_mm ? "swapper" : "user", PAGE_SIZE / SZ_1K,
> + VA_BITS, mm->pgd);
I take it this will go with Kristina's fix [1] to dump the correct page
table?
Otherwise, this would be more misleading than presently.
Assuming that is the case, this looks very useful to me. FWIW:
Acked-by: Mark Rutland <mark.rutland@arm.com>
Mark.
> pgd = pgd_offset(mm, addr);
> pr_alert("[%08lx] *pgd=%016llx", addr, pgd_val(*pgd));
>
> --
> 2.1.4
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] arm64: fault: Print info about page table structure when dumping pte
2017-05-30 11:16 ` Mark Rutland
@ 2017-05-30 11:19 ` Will Deacon
0 siblings, 0 replies; 3+ messages in thread
From: Will Deacon @ 2017-05-30 11:19 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, May 30, 2017 at 12:16:39PM +0100, Mark Rutland wrote:
> On Tue, May 30, 2017 at 11:10:47AM +0100, Will Deacon wrote:
> > Whilst debugging a remote crash, I noticed that show_pte is unhelpful
> > when it comes to describing the structure of the page table being walked.
> > This is easily fixed by printing out the page table (swapper vs user),
> > page size and virtual address size when displaying the PGD address.
> >
> > Signed-off-by: Will Deacon <will.deacon@arm.com>
> > ---
> > arch/arm64/mm/fault.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
> > index 37b95dff0b07..ee6085a922b6 100644
> > --- a/arch/arm64/mm/fault.c
> > +++ b/arch/arm64/mm/fault.c
> > @@ -89,7 +89,9 @@ void show_pte(struct mm_struct *mm, unsigned long addr)
> > if (!mm)
> > mm = &init_mm;
> >
> > - pr_alert("pgd = %p\n", mm->pgd);
> > + pr_alert("%s pgtable: %luk pages, %u-bit VAs, pgd = %p\n",
> > + mm == &init_mm ? "swapper" : "user", PAGE_SIZE / SZ_1K,
> > + VA_BITS, mm->pgd);
>
> I take it this will go with Kristina's fix [1] to dump the correct page
> table?
Yup, just waiting for her to respin those patches and I'll apply this one on
top.
> Otherwise, this would be more misleading than presently.
>
> Assuming that is the case, this looks very useful to me. FWIW:
>
> Acked-by: Mark Rutland <mark.rutland@arm.com>
Thanks,
Will
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-05-30 11:19 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-30 10:10 [PATCH] arm64: fault: Print info about page table structure when dumping pte Will Deacon
2017-05-30 11:16 ` Mark Rutland
2017-05-30 11:19 ` Will Deacon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox