boringssl/crypto/bn/asm
Adam Langley 0bf9d6d554 bn/asm/x86[_64]-mont*.pl: implement slightly alternative page-walking.
(Imports upstream's 3ba1ef829cf3dd36eaa5e819258d90291c6a1027.)

Original strategy for page-walking was adjust stack pointer and then
touch pages in order. This kind of asks for double-fault, because
if touch fails, then signal will be delivered to frame above adjusted
stack pointer. But touching pages prior adjusting stack pointer would
upset valgrind. As compromise let's adjust stack pointer in pages,
touching top of the stack. This still asks for double-fault, but at
least prevents corruption of neighbour stack if allocation is to
overstep the guard page.

Also omit predict-non-taken hints as they reportedly trigger illegal
instructions in some VM setups.

Change-Id: Ife42935319de79c6c76f8df60a76204c546fd1e0
Reviewed-on: https://boringssl-review.googlesource.com/13775
Commit-Queue: Adam Langley <agl@google.com>
Reviewed-by: David Benjamin <davidben@google.com>
2017-02-14 00:14:21 +00:00
..
armv4-mont.pl Remove trailing whitespace from Perl files. 2017-02-14 00:13:55 +00:00
armv8-mont.pl Add AArch64 Montgomery assembly. 2015-11-10 19:13:46 +00:00
bn-586.pl Remove trailing whitespace from Perl files. 2017-02-14 00:13:55 +00:00
co-586.pl Remove trailing whitespace from Perl files. 2017-02-14 00:13:55 +00:00
rsaz-avx2.pl Remove trailing whitespace from Perl files. 2017-02-14 00:13:55 +00:00
x86_64-gcc.c Fix up macros. 2016-10-18 18:28:23 +00:00
x86_64-mont5.pl bn/asm/x86[_64]-mont*.pl: implement slightly alternative page-walking. 2017-02-14 00:14:21 +00:00
x86_64-mont.pl bn/asm/x86[_64]-mont*.pl: implement slightly alternative page-walking. 2017-02-14 00:14:21 +00:00
x86-mont.pl bn/asm/x86[_64]-mont*.pl: implement slightly alternative page-walking. 2017-02-14 00:14:21 +00:00