kernel virtual memory access (from app) does not generatesegfault
Nicolas Pitre
nico at fluxnic.net
Wed Apr 21 17:24:51 EDT 2010
On Wed, 21 Apr 2010, Russell King - ARM Linux wrote:
> On Wed, Apr 21, 2010 at 12:17:41PM +0100, Dave P. Martin wrote:
> >
> >
> > > -----Original Message-----
> > > From: Russell King - ARM Linux [mailto:linux at arm.linux.org.uk]
> > > Sent: 20 April 2010 23:41
> > > To: Jamie Lokier
> > > Cc: Ben Dooks; anfei; Dave P Martin;
> > > linux-arm-kernel at lists.infradead.org
> > > Subject: Re: kernel virtual memory access (from app) does not
> > > generatesegfault
> >
> > [...]
> >
> > > The difference between instruction faults and data faults is
> > > that we always interpret instruction faults on pre-ARMv6 CPUs
> > > as a 'translation fault' rather than a permission fault since
> > > they can't tell us what the problem was.
> >
> > Note that my observations were on an armv7 kernel. Should we still hit the
> > same bit of code in this case, or have I misdiagnosed the problem?
>
> If it was ARMv7, we should be reading the IFSR, which should be telling
> us that there's a permission fault trying to read instructions from
> 0xc0000000.
>
> If changing do_translation_fault() on a recent kernel fixes your problem,
> something's going wrong. Any chance you could add some debugging to
> do_PrefetchAbort() so that when you see your test program running
> (eg, if (strcmp(current->comm, "progname") == 0) { ... }) you could
> dump out the values of ifsr and addr please?
If I remember right, the original bug report mentioned ARM926.
Nicolas
More information about the linux-arm-kernel
mailing list