ARM: Fix signal restart issues with NX and OABI compat
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 25 Oct 2009 15:39:37 +0000 (15:39 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 25 Oct 2009 15:39:37 +0000 (15:39 +0000)
commitab72b00734ae4d0b5ff273a0f6c7abeaa3713c76
treeca002f2e4e6b78fd2d5747aa8d478faa5d84e9f6
parent0996391139f43d032335b5360db11da62a2cbb39
ARM: Fix signal restart issues with NX and OABI compat

The signal restarting code was placed on the user stack when OABI
compatibility is enabled.  Unfortunately, with an EABI NX executable,
this results in an attempt to run code from the non-executable stack,
which segfaults the application.

Fix this by placing the code in the vectors page, along side the
signal return code, and directing the application to that code.

Reported-by: saeed bishara <saeed.bishara@gmail.com>
Tested-by: saeed bishara <saeed.bishara@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/signal.c
arch/arm/kernel/signal.h
arch/arm/kernel/traps.c