From 34df71964861e7ea5f542bac0225c8b82bb8d9b2 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Wed, 16 Nov 2016 16:04:20 +0100 Subject: chacha20poly1305: rely on avx and avx2 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. --- src/crypto/chacha20poly1305.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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) { } -- cgit v1.2.3-59-g8ed1b