* Ben Hutchings <ben@xxxxxxxxxxxxxxx> wrote: > We need to explicitly check the AVX and AES CPU features, as we can't > infer them from the related XSAVE feature flags. For example, the > Core i3 2310M passes the XSAVE feature test but does not implement > AES-NI. > > Reported-and-tested-by: Stéphane Glondu <glondu@xxxxxxxxxx> > References: https://bugs.debian.org/800934 > Fixes: ce4f5f9b65ae ("x86/fpu, crypto x86/camellia_aesni_avx: Simplify...") > Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> > Cc: stable <stable@xxxxxxxxxxxxxxx> # 4.2 > --- > arch/x86/crypto/camellia_aesni_avx_glue.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/arch/x86/crypto/camellia_aesni_avx_glue.c b/arch/x86/crypto/camellia_aesni_avx_glue.c > index 80a0e43..bacaa13 100644 > --- a/arch/x86/crypto/camellia_aesni_avx_glue.c > +++ b/arch/x86/crypto/camellia_aesni_avx_glue.c > @@ -554,6 +554,11 @@ static int __init camellia_aesni_init(void) > { > const char *feature_name; > > + if (!cpu_has_avx || !cpu_has_aes || !cpu_has_osxsave) { > + pr_info("AVX or AES-NI instructions are not detected.\n"); > + return -ENODEV; > + } > + > if (!cpu_has_xfeatures(XSTATE_SSE | XSTATE_YMM, &feature_name)) { > pr_info("CPU feature '%s' is not supported.\n", feature_name); > return -ENODEV; Good catch! Do we still need the cpu_has_xfeatures() check after the cpuid based check? Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html