boringssl/crypto
David Benjamin 2b4820bd52 Don't set a default armcap state in dynamic armcap modes.
The getauxval (and friends) code would be filling that in anyway. The default
only serves to enable NEON even if the OS is old enough to be missing getauxval
(and everything else).

Notably, this unbreaks the has_buggy_neon code when __ARM_NEON__ is set, as is
the case in Chrome for Android, as of M50.  Before, the default
OPENSSL_armcap_P value was getting in the way.

Arguably, this doesn't make a whole lot of sense. We're saying we'll let the
CPU run compiler-generated NEON code, but not our hand-crafted stuff. But, so
far, we only have evidence of the hand-written NEON tickling the bug and not
the compiler-generated stuff, so avoid the unintentional regression. (Naively,
I would expect the hand-crafted NEON is better at making full use of the
pipeline and is thus more likely to tickle the CPU bug.)

This is not the fix for M50, as in the associated Chromium bug, but it will fix
master and M51. M50 will instead want to revert
https://codereview.chromium.org/1730823002.

BUG=chromium:606629

Change-Id: I394f97fea2f09891dd8fa30e0ec6fc6b1adfab7a
Reviewed-on: https://boringssl-review.googlesource.com/7794
Reviewed-by: Adam Langley <agl@google.com>
2016-04-27 23:59:24 +00:00
..
aes Switch all 'num' parameters in crypto/modes to unsigned. 2016-04-19 17:56:25 +00:00
asn1 Fix buffer overrun in ASN1_parse() and signed/unsigned warning. 2016-04-26 18:49:09 +00:00
base64 Remove calls to ERR_load_crypto_strings. 2016-01-25 23:09:08 +00:00
bio Only use recv/send for socket BIOs on Windows. 2016-04-15 20:31:05 +00:00
bn Make return value of |BN_MONT_CTX_set_locked| int. 2016-04-18 23:19:08 +00:00
buf Make |BUF_memdup| look for zero length, not NULL. 2015-10-06 18:11:33 -07:00
bytestring Add CBS_ASN1_UTF8STRING define. 2016-03-23 19:29:49 +00:00
chacha chacha/asm/chacha-armv8.pl: fix intermittent build failures. 2016-04-14 20:50:36 +00:00
cipher Switch all 'num' parameters in crypto/modes to unsigned. 2016-04-19 17:56:25 +00:00
cmac Fix some malloc test failures. 2016-03-28 17:17:32 +00:00
conf Add missing internal includes. 2016-03-20 16:38:54 +00:00
curve25519 Appease sanitizers in x25519_ge_scalarmult. 2016-03-10 19:08:42 +00:00
des Use the straight-forward ROTATE macro. 2015-12-16 19:57:31 +00:00
dh Make return value of |BN_MONT_CTX_set_locked| int. 2016-04-18 23:19:08 +00:00
digest Revert md_len removal from SHA256_CTX and SHA512_CTX. 2016-04-27 19:01:23 +00:00
dsa Make return value of |BN_MONT_CTX_set_locked| int. 2016-04-18 23:19:08 +00:00
ec Use different bit tricks to extend the LSB. 2016-04-25 23:05:20 +00:00
ecdh Clean up |ECDH_compute_key|. 2015-10-27 17:00:25 +00:00
ecdsa Drop support for engines-provided signature verification. 2016-04-18 20:40:17 +00:00
engine Unwind DH_METHOD and DSA_METHOD. 2015-11-03 22:54:36 +00:00
err Make err_data_generator.go silent by default. 2016-04-18 19:42:15 +00:00
evp Fix memory leak on invalid ecPublicKey parameters. 2016-04-15 19:43:26 +00:00
hkdf Fix build when using Visual Studio 2015 Update 1. 2016-03-25 21:39:52 +00:00
hmac Reimplement PKCS#12 key derivation. 2016-04-19 18:16:38 +00:00
lhash Add a run_tests target to run all tests. 2015-10-26 20:33:44 +00:00
md4 Revert md_len removal from SHA256_CTX and SHA512_CTX. 2016-04-27 19:01:23 +00:00
md5 Revert md_len removal from SHA256_CTX and SHA512_CTX. 2016-04-27 19:01:23 +00:00
modes Switch all 'num' parameters in crypto/modes to unsigned. 2016-04-19 17:56:25 +00:00
newhope newhope: use less stack to compute client key 2016-04-27 19:25:25 +00:00
obj Fix build. 2016-04-26 15:53:09 +00:00
pem Decouple the EVP and PEM code. 2016-02-26 22:50:21 +00:00
perlasm perlasm/x86_64-xlate.pl: handle binary constants early. 2016-03-17 18:23:40 +00:00
pkcs8 Add standalone PKCS#8 and SPKI fuzzers. 2016-04-25 21:57:28 +00:00
poly1305 Use UINT64_C instead of unsigned long long integer constant. 2016-04-11 16:08:14 +00:00
rand Add a deterministic PRNG for fuzzing. 2016-03-03 01:36:19 +00:00
rc4 Remove RC4_options from rc4-586.pl. 2016-04-22 21:14:11 +00:00
rsa Require the public exponent to be available in RSA blinding. 2016-04-18 23:34:46 +00:00
sha Revert md_len removal from SHA256_CTX and SHA512_CTX. 2016-04-27 19:01:23 +00:00
stack If no comparison function is set, sk_sort is a NOP 2016-02-25 20:02:53 +00:00
test Remove some easy obj.h dependencies. 2016-03-31 20:50:33 +00:00
x509 Ensure we check i2d_X509 return val 2016-04-26 17:12:01 +00:00
x509v3 Remove some easy obj.h dependencies. 2016-03-31 20:50:33 +00:00
CMakeLists.txt Banish SSL_add_dir_cert_subjects_to_stack and OPENSSL_DIR_CTX to decrepit. 2016-04-27 18:40:25 +00:00
constant_time_test.c
cpu-aarch64-linux.c Rewrite ARM feature detection. 2016-03-26 04:54:44 +00:00
cpu-arm-linux.c Avoid doing arithmetic on void pointers. 2016-03-30 15:17:28 +00:00
cpu-arm.c Rewrite ARM feature detection. 2016-03-26 04:54:44 +00:00
cpu-intel.c Add missing internal includes. 2016-03-20 16:38:54 +00:00
crypto.c Don't set a default armcap state in dynamic armcap modes. 2016-04-27 23:59:24 +00:00
ex_data.c Skip free callbacks on empty CRYPTO_EX_DATAs. 2015-12-15 21:32:14 +00:00
internal.h Work around Android mingw issues. 2016-04-27 14:36:23 +00:00
mem.c Fix some indentation. 2016-01-28 00:51:45 +00:00
refcount_c11.c
refcount_lock.c
refcount_test.c
thread_none.c
thread_pthread.c Remove call to |fprintf| in |CRYPTO_once|. 2016-03-03 18:01:43 +00:00
thread_test.c Use nanosleep instead of usleep. 2016-04-19 21:54:26 +00:00
thread_win.c Replace CRYPTO_once_t on Windows with INIT_ONCE. 2016-04-19 21:34:20 +00:00
thread.c
time_support.c Remove some mingw support cruft. 2016-01-25 23:05:45 +00:00