diff options
author | Philip Guenther <guenther@cvs.openbsd.org> | 2018-07-23 17:54:05 +0000 |
---|---|---|
committer | Philip Guenther <guenther@cvs.openbsd.org> | 2018-07-23 17:54:05 +0000 |
commit | 3ab7002ec7a4428cb7748725912d58bf1f9e264f (patch) | |
tree | 52e82788ef82ed18020dcf8debbf443454928617 /lib | |
parent | 190743775fde29c99c1cc550651d63006feb8550 (diff) |
Do "Return stack refilling", based on the "Return stack underflow" discussion
and its associated appendix at https://support.google.com/faqs/answer/7625886
This should address at least some cases of "SpectreRSB" and earlier
Spectre variants; more commits to follow.
The refilling is done in the enter-kernel-from-userspace and
return-to-userspace-from-kernel paths, making sure to do it before
unblocking interrupts so that a successive interrupt can't get the
CPU to C code without doing this refill. Per the link above, it
also does it immediately after mwait, apparently in case the low-power
CPU states of idle-via-mwait flush the RSB.
ok mlarkin@ deraadt@
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions