summaryrefslogtreecommitdiff
path: root/patches.chromium
diff options
context:
space:
mode:
authoragl@chromium.org <agl@chromium.org@4ff67af0-8c30-449e-8e8b-ad334ec8d88c>2014-02-11 22:08:43 +0000
committeragl@chromium.org <agl@chromium.org@4ff67af0-8c30-449e-8e8b-ad334ec8d88c>2014-02-11 22:08:43 +0000
commitbab551292a524df842435aded34751e598bfe30d (patch)
treea152a197768dc4b668bd3bee7d453e63a1805519 /patches.chromium
parentb812b0a19c352ac9638308aac72fd8020575c511 (diff)
downloadopenssl-bab551292a524df842435aded34751e598bfe30d.tar.gz
Disable NEON Poly1305 code.
See https://code.google.com/p/chromium/issues/detail?id=341598 git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/openssl@250522 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Diffstat (limited to 'patches.chromium')
-rw-r--r--patches.chromium/0007-chacha.patch12
1 files changed, 9 insertions, 3 deletions
diff --git a/patches.chromium/0007-chacha.patch b/patches.chromium/0007-chacha.patch
index 7cd1319..e9e419a 100644
--- a/patches.chromium/0007-chacha.patch
+++ b/patches.chromium/0007-chacha.patch
@@ -8374,10 +8374,11 @@ diff -burN android-openssl-lhash2/patches/neon_runtime.patch android-openssl/pat
+ static uint64_t
+ mul32x32_64(uint32_t a, uint32_t b)
+ {
-+@@ -207,6 +218,14 @@ void CRYPTO_poly1305_init(poly1305_state *statep, const unsigned char key[32])
++@@ -207,6 +218,16 @@ void CRYPTO_poly1305_init(poly1305_state *statep, const unsigned char key[32])
+ struct poly1305_state_st *state = (struct poly1305_state_st*) statep;
+ uint32_t t0,t1,t2,t3;
+
+++#if 0 /* Disabled because of crbug.com/341598 */
++#if __arm__
++ if (CRYPTO_is_NEON_capable())
++ {
@@ -8385,14 +8386,16 @@ diff -burN android-openssl-lhash2/patches/neon_runtime.patch android-openssl/pat
++ return;
++ }
++#endif
++
++
+ t0 = U8TO32_LE(key+0);
+ t1 = U8TO32_LE(key+4);
+ t2 = U8TO32_LE(key+8);
-+@@ -241,6 +260,14 @@ void CRYPTO_poly1305_update(poly1305_state *statep, const unsigned char *in,
++@@ -241,6 +260,16 @@ void CRYPTO_poly1305_update(poly1305_state *statep, const unsigned char *in,
+ unsigned int i;
+ struct poly1305_state_st *state = (struct poly1305_state_st*) statep;
+
+++#if 0 /* Disabled because of crbug.com/341598 */
++#if __arm__
++ if (CRYPTO_is_NEON_capable())
++ {
@@ -8400,14 +8403,16 @@ diff -burN android-openssl-lhash2/patches/neon_runtime.patch android-openssl/pat
++ return;
++ }
++#endif
+++#endif
++
+ if (state->buf_used)
+ {
+ unsigned int todo = 16 - state->buf_used;
-+@@ -282,6 +309,14 @@ void CRYPTO_poly1305_finish(poly1305_state *statep, unsigned char mac[16])
++@@ -282,6 +309,16 @@ void CRYPTO_poly1305_finish(poly1305_state *statep, unsigned char mac[16])
+ uint32_t g0,g1,g2,g3,g4;
+ uint32_t b, nb;
+
+++#if 0 /* Disabled because of crbug.com/341598 */
++#if __arm__
++ if (CRYPTO_is_NEON_capable())
++ {
@@ -8415,6 +8420,7 @@ diff -burN android-openssl-lhash2/patches/neon_runtime.patch android-openssl/pat
++ return;
++ }
++#endif
+++#endif
++
+ if (state->buf_used)
+ poly1305_update(state, state->buf, state->buf_used);