crypto-native: avoid crash on 12th and 13th gen Intel client CPUs

Those CPUs are announcing VAES capability but they don't support AVX512.

Type: fix
Fixes: 73a60b2
Change-Id: I7b4be95e91bb6f367cd71461f1126690f3ecd988
Signed-off-by: Damjan Marion <damarion@cisco.com>
This commit is contained in:
Damjan Marion
2023-03-14 13:15:58 +01:00
committed by Dave Wallace
parent f6d3abd0d1
commit 8ade308e17

View File

@@ -75,7 +75,8 @@ crypto_native_init (vlib_main_t * vm)
if (0);
#if __x86_64__
else if (crypto_native_aes_cbc_init_icl && clib_cpu_supports_vaes ())
else if (crypto_native_aes_cbc_init_icl && clib_cpu_supports_vaes () &&
clib_cpu_supports_avx512f ())
error = crypto_native_aes_cbc_init_icl (vm);
else if (crypto_native_aes_cbc_init_skx && clib_cpu_supports_avx512f ())
error = crypto_native_aes_cbc_init_skx (vm);
@@ -97,7 +98,8 @@ crypto_native_init (vlib_main_t * vm)
#if __x86_64__
if (clib_cpu_supports_pclmulqdq ())
{
if (crypto_native_aes_gcm_init_icl && clib_cpu_supports_vaes ())
if (crypto_native_aes_gcm_init_icl && clib_cpu_supports_vaes () &&
clib_cpu_supports_avx512f ())
error = crypto_native_aes_gcm_init_icl (vm);
else if (crypto_native_aes_gcm_init_skx && clib_cpu_supports_avx512f ())
error = crypto_native_aes_gcm_init_skx (vm);