linux/arch
Roland McGrath 7c1def1652 [PATCH] i386: never block forced SIGSEGV
This problem was first noticed on PPC and has already been fixed there.
But the exact same issue applies to other platforms in the same way.  The
signal blocking for sa_mask and the handled signal takes place after the
handler setup.  When the stack is bogus, the handler setup forces a
SIGSEGV.  But then this will be blocked, and returning to user mode will
fault again and iterate.  This patch fixes the problem by checking whether
signal handler setup failed, and not doing the signal-blocking if so.  This
copies what was done in the ppc code.  I think all architectures' signal
handler setup code follows this pattern and needs the change.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-23 09:45:09 -07:00
..
alpha [PATCH] update all defconfigs for ARCH_DISCONTIGMEM_ENABLE 2005-06-23 09:45:02 -07:00
arm [PATCH] use ${CROSS_COMPILE}installkernel in arch/*/boot/install.sh 2005-06-23 09:45:07 -07:00
arm26 [PATCH] use ${CROSS_COMPILE}installkernel in arch/*/boot/install.sh 2005-06-23 09:45:07 -07:00
cris [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
frv [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
h8300 [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
i386 [PATCH] i386: never block forced SIGSEGV 2005-06-23 09:45:09 -07:00
ia64 [PATCH] update all defconfigs for ARCH_DISCONTIGMEM_ENABLE 2005-06-23 09:45:02 -07:00
m32r [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
m68k [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
m68knommu [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
mips [PATCH] mm/Kconfig: kill unused ARCH_FLATMEM_DISABLE 2005-06-23 09:45:03 -07:00
parisc [PATCH] mm/Kconfig: kill unused ARCH_FLATMEM_DISABLE 2005-06-23 09:45:03 -07:00
ppc [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
ppc64 [PATCH] use ${CROSS_COMPILE}installkernel in arch/*/boot/install.sh 2005-06-23 09:45:07 -07:00
s390 [PATCH] use ${CROSS_COMPILE}installkernel in arch/*/boot/install.sh 2005-06-23 09:45:07 -07:00
sh [PATCH] mm/Kconfig: kill unused ARCH_FLATMEM_DISABLE 2005-06-23 09:45:03 -07:00
sh64 [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
sparc [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
sparc64 [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
um [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
v850 [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
x86_64 [PATCH] x86/x86_64: pcibus_to_node 2005-06-23 09:45:08 -07:00