x86/fpu, crypto: Fix AVX2 feature tests
authorIngo Molnar <mingo@kernel.org>
Fri, 22 May 2015 08:58:45 +0000 (10:58 +0200)
committerIngo Molnar <mingo@kernel.org>
Fri, 22 May 2015 08:58:45 +0000 (10:58 +0200)
commitb54b4bbbf5e9313acc681129ab332e33a397cd13
treebc104fa7e0e21fb03b76953ee2b4aaab593f02cc
parent6f56a8d024757e2f3bda8bf3bdf6aa1a21e6810b
x86/fpu, crypto: Fix AVX2 feature tests

For some CPU models I broke the AVX2 feature detection in:

  7bc371faa9cd ("x86/fpu, crypto x86/camellia_aesni_avx2: Simplify the camellia_aesni_init() xfeature checks")
  534ff06e3929 ("x86/fpu, crypto x86/serpent_avx2: Simplify the init() xfeature checks")

... because I did not realize that it's possible for a CPU to support
the xstate necessary for AVX2 execution (XSTATE_YMM), but not have
the AVX2 instructions themselves.

Restore the necessary CPUID checks as well.

Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/crypto/camellia_aesni_avx2_glue.c
arch/x86/crypto/serpent_avx2_glue.c