Skip to content

Commit 8705d28

Browse files
committed
wolfcrypt/src/aes.c: in wc_AesSetKeyLocal(), rework support for WC_FLAG_DONT_USE_AESNI (fixes WC_C_DYNAMIC_FALLBACK).
wolfssl/wolfcrypt/settings.h: in WOLFSSL_LINUXKM section, #ifdef LINUXKM_LKCAPI_REGISTER, #define WOLFSSL_TEST_SUBROUTINE to nothing, and #define WC_TEST_EXPORT_SUBTESTS. linuxkm/lkcapi_glue.c: * add check_skcipher_driver_masking() and check_aead_driver_masking(), * use _masking() checks in all linuxkm_test_*(). * add !WOLFSSL_AESGCM_STREAM implementation of linuxkm_test_aesgcm(). * add implementations of linuxkm_test_aesctr(), linuxkm_test_aesofb(), and linuxkm_test_aesecb() * remove incomplete+disabled AES-CCM shim implementation. linuxkm/module_hooks.c: pull in wolfcrypt/test/test.h if LINUXKM_LKCAPI_REGISTER. linuxkm/Makefile: build wolfcrypt/test/test.o if ENABLED_LINUXKM_LKCAPI_REGISTER. Makefile.am: add ENABLED_LINUXKM_LKCAPI_REGISTER to exports in BUILD_LINUXKM section. configure.ac: add AC_SUBST([ENABLED_LINUXKM_LKCAPI_REGISTER]); in ENABLED_LINUXKM_DEFAULTS set up, remove `-DWOLFSSL_TEST_SUBROUTINE=static` from AM_CFLAGS adds; fix whitespace. .wolfssl_known_macro_extras: add WC_WANT_FLAG_DONT_USE_AESNI. wolfcrypt/test/test.c: add `|| defined(WC_TEST_EXPORT_SUBTESTS)` to outermost gate, add wc_test_ prefix to render_error_message() and export it, wolfcrypt/test/test.h: add prototype for wc_test_render_error_message(), and #ifdef WC_TEST_EXPORT_SUBTESTS, add prototypes for all the subtests.
1 parent 8092ff9 commit 8705d28

10 files changed

Lines changed: 458 additions & 442 deletions

File tree

.wolfssl_known_macro_extras

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -547,6 +547,7 @@ WC_SHA384_DIGEST_SIZE
547547
WC_SHA512
548548
WC_SSIZE_TYPE
549549
WC_STRICT_SIG
550+
WC_WANT_FLAG_DONT_USE_AESNI
550551
WC_XMSS_FULL_HASH
551552
WOLFCRYPT_FIPS_CORE_DYNAMIC_HASH_VALUE
552553
WOLFSENTRY_H

Makefile.am

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,8 @@ if BUILD_LINUXKM
213213
EXTRA_CFLAGS EXTRA_CPPFLAGS EXTRA_CCASFLAGS EXTRA_LDFLAGS \
214214
AM_CPPFLAGS CPPFLAGS AM_CFLAGS CFLAGS \
215215
AM_CCASFLAGS CCASFLAGS \
216-
src_libwolfssl_la_OBJECTS ENABLED_CRYPT_TESTS ENABLED_LINUXKM_PIE ENABLED_ASM \
216+
src_libwolfssl_la_OBJECTS ENABLED_CRYPT_TESTS ENABLED_LINUXKM_LKCAPI_REGISTER \
217+
ENABLED_LINUXKM_PIE ENABLED_ASM \
217218
CFLAGS_FPU_DISABLE CFLAGS_FPU_ENABLE CFLAGS_SIMD_DISABLE CFLAGS_SIMD_ENABLE \
218219
CFLAGS_AUTO_VECTORIZE_DISABLE CFLAGS_AUTO_VECTORIZE_ENABLE \
219220
ASFLAGS_FPU_DISABLE_SIMD_ENABLE ASFLAGS_FPU_ENABLE_SIMD_DISABLE \

configure.ac

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -679,7 +679,7 @@ AC_SUBST([ENABLED_LINUXKM_BENCHMARKS])
679679

680680
if test "$ENABLED_LINUXKM_DEFAULTS" = "yes"
681681
then
682-
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_DH_CONST -DWOLFSSL_SP_MOD_WORD_RP -DWOLFSSL_SP_DIV_64 -DWOLFSSL_SP_DIV_WORD_HALF -DWOLFSSL_SMALL_STACK_STATIC -DWOLFSSL_TEST_SUBROUTINE=static"
682+
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_DH_CONST -DWOLFSSL_SP_MOD_WORD_RP -DWOLFSSL_SP_DIV_64 -DWOLFSSL_SP_DIV_WORD_HALF -DWOLFSSL_SMALL_STACK_STATIC"
683683
if test "$ENABLED_LINUXKM_PIE" = "yes"; then
684684
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_NO_OCSP_ISSUER_CHECK"
685685
fi
@@ -3534,7 +3534,7 @@ then
35343534
then
35353535
AM_CFLAGS="$AM_CFLAGS -DUSE_INTEL_SPEEDUP"
35363536
ENABLED_AESNI=yes
3537-
ENABLED_AESNI_WITH_AVX=yes
3537+
ENABLED_AESNI_WITH_AVX=yes
35383538
elif test "$ENABLED_AESNI_WITH_AVX" = "yes"
35393539
then
35403540
AM_CFLAGS="$AM_CFLAGS -DUSE_INTEL_SPEEDUP_FOR_AES"
@@ -9366,7 +9366,7 @@ then
93669366
'-cfb(aes)') AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_DONT_REGISTER_AESCFB" ;;
93679367
'-gcm(aes)') AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_DONT_REGISTER_AESGCM" ;;
93689368
'-rfc4106(gcm(aes))')
9369-
AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_DONT_REGISTER_AESGCM_RFC4106" ;;
9369+
AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_DONT_REGISTER_AESGCM_RFC4106" ;;
93709370
'-xts(aes)') AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_DONT_REGISTER_AESXTS" ;;
93719371
'-ctr(aes)') AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_DONT_REGISTER_AESCTR" ;;
93729372
'-ofb(aes)') AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_DONT_REGISTER_AESOFB" ;;
@@ -9375,6 +9375,7 @@ then
93759375
esac
93769376
done
93779377
fi
9378+
AC_SUBST([ENABLED_LINUXKM_LKCAPI_REGISTER])
93789379
93799380
# Library Suffix
93809381
LIBSUFFIX=""

linuxkm/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ WOLFSSL_OBJ_FILES=$(patsubst %.lo, %.o, $(patsubst src/src_libwolfssl_la-%, src/
4343

4444
ifeq "$(ENABLED_CRYPT_TESTS)" "yes"
4545
WOLFSSL_OBJ_FILES+=wolfcrypt/test/test.o
46+
else ifneq "$(ENABLED_LINUXKM_LKCAPI_REGISTER)" "none"
47+
WOLFSSL_OBJ_FILES+=wolfcrypt/test/test.o
4648
else
4749
WOLFSSL_CFLAGS+=-DNO_CRYPT_TEST
4850
endif

0 commit comments

Comments
 (0)