diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2016-11-16 16:04:20 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2016-11-16 16:04:20 +0100 |
commit | 34df71964861e7ea5f542bac0225c8b82bb8d9b2 (patch) | |
tree | cedcf666f33b1f6e5f5e8f66545d201853dd9865 | |
parent | device: better debug message (diff) | |
download | wireguard-monolithic-historical-34df71964861e7ea5f542bac0225c8b82bb8d9b2.tar.xz wireguard-monolithic-historical-34df71964861e7ea5f542bac0225c8b82bb8d9b2.zip |
chacha20poly1305: rely on avx and avx2experimental-0.0.20161116
It turns out some FrankenVMs disable AVX but keep AVX2, causing issues.
The crypto code now relies on having both AVX and AVX2 and the right
features.
-rw-r--r-- | src/crypto/chacha20poly1305.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/crypto/chacha20poly1305.c b/src/crypto/chacha20poly1305.c index 8d70c02..6926f2a 100644 --- a/src/crypto/chacha20poly1305.c +++ b/src/crypto/chacha20poly1305.c @@ -34,7 +34,7 @@ void chacha20poly1305_init(void) { chacha20poly1305_use_sse2 = boot_cpu_has(X86_FEATURE_XMM2); chacha20poly1305_use_ssse3 = boot_cpu_has(X86_FEATURE_SSSE3); - chacha20poly1305_use_avx2 = boot_cpu_has(X86_FEATURE_AVX2); + chacha20poly1305_use_avx2 = boot_cpu_has(X86_FEATURE_AVX) && boot_cpu_has(X86_FEATURE_AVX2) && cpu_has_xfeatures(XFEATURE_MASK_SSE | XFEATURE_MASK_YMM, NULL); } #else void chacha20poly1305_init(void) { } |