boringssl/crypto
Adam Langley c8e91d5798 bignum: allow concurrent BN_MONT_CTX_set_locked()
The lazy-initialisation of BN_MONT_CTX was serialising all threads, as noted by
Daniel Sands and co at Sandia. This was to handle the case that 2 or more
threads race to lazy-init the same context, but stunted all scalability in the
case where 2 or more threads are doing unrelated things! We favour the latter
case by punishing the former. The init work gets done by each thread that finds
the context to be uninitialised, and we then lock the "set" logic after that
work is done - the winning thread's work gets used, the losing threads throw
away what they've done.

(Imported from upstream's bf43446835bfd3f9abf1898a99ae20f2285320f3)
2014-06-20 13:17:40 -07:00
..
aes aes/asm/bsaes-x86_64.pl: Atom-specific optimization. 2014-06-20 13:17:40 -07:00
asn1 Const correctness. 2014-06-20 13:17:36 -07:00
base64 Base64 padding fix. 2014-06-20 13:17:36 -07:00
bio ChannelID support. 2014-06-20 13:17:33 -07:00
bn bignum: allow concurrent BN_MONT_CTX_set_locked() 2014-06-20 13:17:40 -07:00
buf Inital import. 2014-06-20 13:17:32 -07:00
bytestring Inital import. 2014-06-20 13:17:32 -07:00
chacha ChaCha20-Poly1305 support. 2014-06-20 13:17:35 -07:00
cipher ChaCha20-Poly1305 support. 2014-06-20 13:17:35 -07:00
comp Inital import. 2014-06-20 13:17:32 -07:00
conf Inital import. 2014-06-20 13:17:32 -07:00
des Inital import. 2014-06-20 13:17:32 -07:00
dh dh/check.c: check BN_CTX_get's return value. 2014-06-20 13:17:39 -07:00
digest Inital import. 2014-06-20 13:17:32 -07:00
dsa Safe (EC)DSA nonces. 2014-06-20 13:17:33 -07:00
ec Double free in i2o_ECPublicKey 2014-06-20 13:17:40 -07:00
ecdh Inital import. 2014-06-20 13:17:32 -07:00
ecdsa Safe (EC)DSA nonces. 2014-06-20 13:17:33 -07:00
engine Inital import. 2014-06-20 13:17:32 -07:00
err Inital import. 2014-06-20 13:17:32 -07:00
evp Improvements in constant-time OAEP decoding. 2014-06-20 13:17:37 -07:00
hmac Inital import. 2014-06-20 13:17:32 -07:00
lhash Inital import. 2014-06-20 13:17:32 -07:00
md5 Inital import. 2014-06-20 13:17:32 -07:00
modes bn/asm/armv4-gf2m.pl, modes/asm/ghash-armv4.pl: faster multiplication algorithm suggested in following paper: 2014-06-20 13:17:40 -07:00
obj Inital import. 2014-06-20 13:17:32 -07:00
pem Inital import. 2014-06-20 13:17:32 -07:00
perlasm perlasm/x86asm.pl: recognize elf-1 denoting old ELF platforms. 2014-06-20 13:17:39 -07:00
pkcs8 Inital import. 2014-06-20 13:17:32 -07:00
poly1305 ChaCha20-Poly1305 support. 2014-06-20 13:17:35 -07:00
rand Inital import. 2014-06-20 13:17:32 -07:00
rc4 rc4/asm/rc4-586.pl: allow for 386-only build. 2014-06-20 13:17:39 -07:00
rsa Improvements in constant-time OAEP decoding. 2014-06-20 13:17:37 -07:00
sha sha/asm/sha256-586.pl: don't try to compile SIMD with no-sse2. 2014-06-20 13:17:39 -07:00
stack Inital import. 2014-06-20 13:17:32 -07:00
x509 Don't try and verify signatures if key is NULL (CVE-2013-0166) 2014-06-20 13:17:39 -07:00
x509v3 Extension checking fixes. 2014-06-20 13:17:40 -07:00
arm_arch.h Inital import. 2014-06-20 13:17:32 -07:00
base.h AEAD interface. 2014-06-20 13:17:34 -07:00
CMakeLists.txt ChaCha20-Poly1305 support. 2014-06-20 13:17:35 -07:00
cpu-arm.c Inital import. 2014-06-20 13:17:32 -07:00
cpu-intel.c Inital import. 2014-06-20 13:17:32 -07:00
cpu-x86_64-asm.pl Inital import. 2014-06-20 13:17:32 -07:00
cpu-x86-asm.pl Inital import. 2014-06-20 13:17:32 -07:00
cpu.h Inital import. 2014-06-20 13:17:32 -07:00
crypto_error.c Inital import. 2014-06-20 13:17:32 -07:00
crypto_error.h Inital import. 2014-06-20 13:17:32 -07:00
directory_posix.c Inital import. 2014-06-20 13:17:32 -07:00
directory_win.c Inital import. 2014-06-20 13:17:32 -07:00
directory.h Inital import. 2014-06-20 13:17:32 -07:00
ex_data_impl.c Inital import. 2014-06-20 13:17:32 -07:00
ex_data.c Inital import. 2014-06-20 13:17:32 -07:00
ex_data.h Inital import. 2014-06-20 13:17:32 -07:00
header_removed.h Inital import. 2014-06-20 13:17:32 -07:00
internal.h Inital import. 2014-06-20 13:17:32 -07:00
mem_clear.c Inital import. 2014-06-20 13:17:32 -07:00
mem.c psk_client_callback, 128-byte id bug. 2014-06-20 13:17:37 -07:00
mem.h psk_client_callback, 128-byte id bug. 2014-06-20 13:17:37 -07:00
thread.c Inital import. 2014-06-20 13:17:32 -07:00
thread.h Inital import. 2014-06-20 13:17:32 -07:00
time_support.c Inital import. 2014-06-20 13:17:32 -07:00
time_support.h Inital import. 2014-06-20 13:17:32 -07:00
type_check.h Inital import. 2014-06-20 13:17:32 -07:00