[patch 4/13] s390: alternate signal stack handling bug.

From: Martin Schwidefsky
Date: Mon Apr 24 2006 - 11:03:33 EST


From: Laurent Meyer <meyerlau@xxxxxxxxxx>

[patch 4/13] s390: alternate signal stack handling bug.

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 <meyerlau@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
---

arch/s390/kernel/compat_signal.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)

diff -urpN linux-2.6/arch/s390/kernel/compat_signal.c linux-2.6-patched/arch/s390/kernel/compat_signal.c
--- linux-2.6/arch/s390/kernel/compat_signal.c 2006-03-20 06:53:29.000000000 +0100
+++ linux-2.6-patched/arch/s390/kernel/compat_signal.c 2006-04-24 16:47:21.000000000 +0200
@@ -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;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/