From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/3] arm64: mm: print out correct page table entries
Date: Fri, 9 Jun 2017 17:41:24 +0100 [thread overview]
Message-ID: <20170609164124.GA3043@leverpostej> (raw)
In-Reply-To: <20170609163328.GA10371@arm.com>
On Fri, Jun 09, 2017 at 05:33:29PM +0100, Will Deacon wrote:
> On Fri, Jun 09, 2017 at 05:04:07PM +0100, Mark Rutland wrote:
> > On Fri, Jun 09, 2017 at 04:35:52PM +0100, Kristina Martsenko wrote:
> > > /*
> > > - * Dump out the page tables associated with 'addr' in mm 'mm'.
> > > + * Dump out the page tables associated with 'addr' in the currently active mm.
> > > */
> > > -void show_pte(struct mm_struct *mm, unsigned long addr)
> > > +void show_pte(unsigned long addr)
> > > {
> > > + struct mm_struct *mm;
> > > pgd_t *pgd;
> > >
> > > - if (!mm)
> > > + if (addr < TASK_SIZE) {
> > > + /* TTBR0 */
> > > + mm = current->active_mm;
> >
> > Can we log something for the active_mm == &init_mm case?
> >
> > e.g.
> >
> > if (addr < TASK_SIZE) {
> > if (current->active_mm == &init_mm)
> > pr_alert("[%016lx] address in unknown TTBR0 range\n",
> > addr);
>
> I don't understand the case you're trying to highlight here, nor which
> table you want to walk.
On some threads, current->active_mm is the init_mm, and this doesn't
represent TTBR0.
In this case, TTBR0 is typically the zero page (or the idmap).
If we don't explicitly handle the init_mm case, we'd walk the kernel's
TTBR1 page table when reporting such faults, which would be misleading.
The easiest thing to do is to bail out, rather than trying to read TTBR0
and walk whatever it points to, since that could have an unusual VA
size.
Thanks,
Mark.
next prev parent reply other threads:[~2017-06-09 16:41 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-09 15:35 [PATCH v2 1/3] arm64: mm: print out correct page table entries Kristina Martsenko
2017-06-09 15:35 ` [PATCH v2 2/3] arm64: mm: don't print out page table entries on EL0 faults Kristina Martsenko
2017-06-09 15:50 ` Mark Rutland
2017-06-09 15:35 ` [PATCH v2 3/3] arm64: mm: print file name of faulting vma Kristina Martsenko
2017-06-09 15:54 ` Mark Rutland
2017-06-09 16:04 ` [PATCH v2 1/3] arm64: mm: print out correct page table entries Mark Rutland
2017-06-09 16:33 ` Will Deacon
2017-06-09 16:41 ` Mark Rutland [this message]
2017-06-09 20:22 ` Yury Norov
2017-06-15 10:00 ` Will Deacon
2017-06-15 10:12 ` Yury Norov
2017-06-15 10:16 ` Will Deacon
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=20170609164124.GA3043@leverpostej \
--to=mark.rutland@arm.com \
--cc=linux-arm-kernel@lists.infradead.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;
as well as URLs for NNTP newsgroup(s).