kernel virtual memory access (from app) does not generatesegfault

Russell King - ARM Linux linux at arm.linux.org.uk
Wed Apr 21 15:40:52 EDT 2010


On Wed, Apr 21, 2010 at 08:16:00PM +0100, Jamie Lokier wrote:
> The two-liner proposed earlier should fix all ARMs doing userspace
> execution > TASK_SIZE - the problem which started this thread.  But
> not kernel space accidentally executing an NX page > TASK_SIZE due to
> some bug, which can only occur on ARMv6/v7 due to NX.

Sorry James, that's wrong.  ARMv6 and ARMv7 use the IFSR, which gives
us the error code - and that distinguishes between a translation fault
and a permission fault.  An attempt to execute a NX page generates a
permission fault, and therefore we end up calling do_page_fault() rather
than indirecting via do_translation_fault().



More information about the linux-arm-kernel mailing list