summaryrefslogtreecommitdiffstats
path: root/crypto/s390xcap.c
diff options
context:
space:
mode:
authorPatrick Steuer <patrick.steuer@de.ibm.com>2019-07-15 17:00:15 +0200
committerPatrick Steuer <patrick.steuer@de.ibm.com>2019-07-16 14:40:28 +0200
commitc17d60ea293746d7cd06a910ced446edbb6c1eba (patch)
tree8aa8c43285689e46ae2632dde016525a6fa4ff57 /crypto/s390xcap.c
parent5fe499cb75469fbda08d96facd13d14a402a6d44 (diff)
s390x assembly pack: fix restoring of SIGILL action
Signed-off-by: Patrick Steuer <patrick.steuer@de.ibm.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9381)
Diffstat (limited to 'crypto/s390xcap.c')
-rw-r--r--crypto/s390xcap.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/crypto/s390xcap.c b/crypto/s390xcap.c
index b75eacf22f..a9850267ef 100644
--- a/crypto/s390xcap.c
+++ b/crypto/s390xcap.c
@@ -65,7 +65,7 @@ struct OPENSSL_s390xcap_st OPENSSL_s390xcap_P;
void OPENSSL_cpuid_setup(void)
{
sigset_t oset;
- struct sigaction ill_act, oact;
+ struct sigaction ill_act, oact_ill, oact_fpe;
struct OPENSSL_s390xcap_st cap;
if (OPENSSL_s390xcap_P.stfle[0])
@@ -87,8 +87,8 @@ void OPENSSL_cpuid_setup(void)
sigdelset(&ill_act.sa_mask, SIGFPE);
sigdelset(&ill_act.sa_mask, SIGTRAP);
sigprocmask(SIG_SETMASK, &ill_act.sa_mask, &oset);
- sigaction(SIGILL, &ill_act, &oact);
- sigaction(SIGFPE, &ill_act, &oact);
+ sigaction(SIGILL, &ill_act, &oact_ill);
+ sigaction(SIGFPE, &ill_act, &oact_fpe);
/* protection against missing store-facility-list-extended */
if (sigsetjmp(ill_jmp, 1) == 0)
@@ -110,8 +110,8 @@ void OPENSSL_cpuid_setup(void)
| S390X_CAPBIT(S390X_VXE));
}
- sigaction(SIGFPE, &oact, NULL);
- sigaction(SIGILL, &oact, NULL);
+ sigaction(SIGFPE, &oact_fpe, NULL);
+ sigaction(SIGILL, &oact_ill, NULL);
sigprocmask(SIG_SETMASK, &oset, NULL);
OPENSSL_s390x_functions();