[ARM] 3168/1: Update ARM signal delivery and masking
authorDaniel Jacobowitz <drow@false.org>
Sat, 19 Nov 2005 10:01:07 +0000 (10:01 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 19 Nov 2005 10:01:07 +0000 (10:01 +0000)
commita6c61e9dfdd0adf8443932cfc43b0c1e25036ad5
tree68e09d27ce1ef0aecbe11fb9eb139fba92e1afe9
parentd2c5b69099ff747f9757da2416383b9a999171b1
[ARM] 3168/1: Update ARM signal delivery and masking

Patch from Daniel Jacobowitz

After delivering a signal (creating its stack frame) we must check for
additional pending unblocked signals before returning to userspace.
Otherwise signals may be delayed past the next syscall or reschedule.

Once that was fixed it became obvious that the ARM signal mask manipulation
was broken.  It was a little bit broken before the recent SA_NODEFER
changes, and then very broken after them.  We must block the requested
signals before starting the handler or the same signal can be delivered
again before the handler even gets a chance to run.

Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/entry-common.S
arch/arm/kernel/signal.c
arch/arm/mm/Makefile
arch/arm/mm/blockops.c [deleted file]