2005-03-24 13:31:49

by Martin Schwidefsky

[permalink] [raw]
Subject: [patch 2/9] s390: signal stack bug.

[patch 2/9] s390: signal stack bug.

From: Bodo Stroesser <[email protected]>

If a signal handler is set to use the signal stack (SA_ONSTACK), but
the signal stack is disabled, the signal frame should be written to
the current stack without stack switching.

The reason for the bug is get_sigframe() using on_sig_stack() instead
of sas_ss_flags(), which would be ok.

Signed-off-by: Martin Schwidefsky <[email protected]>

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

diff -urpN linux-2.6/arch/s390/kernel/signal.c linux-2.6-patched/arch/s390/kernel/signal.c
--- linux-2.6/arch/s390/kernel/signal.c 2005-03-24 14:02:44.000000000 +0100
+++ linux-2.6-patched/arch/s390/kernel/signal.c 2005-03-24 14:03:00.000000000 +0100
@@ -282,7 +282,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;
}