From: Laurent Meyer If a signal handler has been established with the SA_ONSTACK option but no alternate stack is provided with sigaltstack(), the kernel still tries to install the alternate stack. Also when setting an alternate stack with sigalstack() and the SS_DISABLE flag, the kernel tries to install the alternate stack on signal delivery. Use the correct conditions sas_ss_flags() to check if the alternate stack has to be used. Signed-off-by: Laurent Meyer Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton --- arch/s390/kernel/compat_signal.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN arch/s390/kernel/compat_signal.c~s390-alternate-signal-stack-handling-bug arch/s390/kernel/compat_signal.c --- 25/arch/s390/kernel/compat_signal.c~s390-alternate-signal-stack-handling-bug Mon Apr 24 16:45:56 2006 +++ 25-akpm/arch/s390/kernel/compat_signal.c Mon Apr 24 16:45:56 2006 @@ -430,7 +430,7 @@ get_sigframe(struct k_sigaction *ka, str /* This is the X/Open sanctioned signal stack switching. */ if (ka->sa.sa_flags & SA_ONSTACK) { - if (! on_sig_stack(sp)) + if (! sas_ss_flags(sp)) sp = current->sas_ss_sp + current->sas_ss_size; } _