summaryrefslogtreecommitdiffstats
path: root/lib/libssl/src/ssl/ssl_lib.c
diff options
context:
space:
mode:
authormiod <miod@openbsd.org>2014-05-31 11:27:50 +0000
committermiod <miod@openbsd.org>2014-05-31 11:27:50 +0000
commit784e6cb7675505f7b46bd4e786446d4578f1d223 (patch)
treeaf03e6daf05562293418b47f3276a3291f891ab4 /lib/libssl/src/ssl/ssl_lib.c
parentIn regdump(), print DAE registers when they are valid, regardless of the (diff)
downloadwireguard-openbsd-784e6cb7675505f7b46bd4e786446d4578f1d223.tar.xz
wireguard-openbsd-784e6cb7675505f7b46bd4e786446d4578f1d223.zip
Address several problems in signal delivery on 88100 processors:
- when building the sigcontext, rewind the pipeline for recoverable exceptions, so that sigreturn actually has a chance to cause the interrupted instruction to be run again. - when returning with sigreturn, and the sigcontext contains valid DAE information, the DAE need to be emulated before returning, for the processor will not reissue them. - finally, when the sigframe is allocated on the current process' stack, be careful not to stomp upon addresses referenced by the DAE information, for this would defeat the previous point. All these changes only affect 88100 processors only. 88110 operation is unchanged. While there, do not copyout an empty siginfo struct if the signal handler does not expect any. Hair-pulling evil testcase provided by aoyama@, based upon one of devel/libsigsegv configure tests (which would spin on 88100 and run happily on 88110).
Diffstat (limited to 'lib/libssl/src/ssl/ssl_lib.c')
0 files changed, 0 insertions, 0 deletions