Skip to content

Commit 183aa7a

Browse files
Merge branch 'master' of https://github.com/wolfSSL/wolfssl into zd20038_2
2 parents 87f99ea + f33814b commit 183aa7a

19 files changed

+124
-77
lines changed

.github/workflows/os-check.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ jobs:
5959
'--enable-lms=small,verify-only --enable-xmss=small,verify-only',
6060
'--disable-sys-ca-certs',
6161
'--enable-all CPPFLAGS=-DWOLFSSL_DEBUG_CERTS ',
62+
'--enable-all CFLAGS="-DWOLFSSL_CHECK_MEM_ZERO"',
6263
'--enable-coding=no',
6364
]
6465
name: make check

.wolfssl_known_macro_extras

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -605,6 +605,7 @@ WC_RSA_NO_FERMAT_CHECK
605605
WC_SHA384
606606
WC_SHA384_DIGEST_SIZE
607607
WC_SHA512
608+
WC_SKIP_INCLUDED_C_FILES
608609
WC_SSIZE_TYPE
609610
WC_STRICT_SIG
610611
WC_WANT_FLAG_DONT_USE_AESNI
@@ -661,7 +662,6 @@ WOLFSSL_CAAM_BLACK_KEY_SM
661662
WOLFSSL_CAAM_NO_BLACK_KEY
662663
WOLFSSL_CALLBACKS
663664
WOLFSSL_CHECK_DESKEY
664-
WOLFSSL_CHECK_MEM_ZERO
665665
WOLFSSL_CHIBIOS
666666
WOLFSSL_CLANG_TIDY
667667
WOLFSSL_CLIENT_EXAMPLE

linuxkm/linuxkm_wc_port.h

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,17 @@
422422
#define WC_AES_XTS_SUPPORT_SIMULTANEOUS_ENC_AND_DEC_KEYS
423423
#endif
424424

425+
/* setup for LINUXKM_LKCAPI_REGISTER_HASH_DRBG_DEFAULT needs to be here
426+
* to assure that calls to get_random_bytes() in random.c are gated out
427+
* (they would recurse, potentially infinitely).
428+
*/
429+
#if (defined(LINUXKM_LKCAPI_REGISTER_ALL) && \
430+
!defined(LINUXKM_LKCAPI_DONT_REGISTER_HASH_DRBG) && \
431+
!defined(LINUXKM_LKCAPI_DONT_REGISTER_HASH_DRBG_DEFAULT)) && \
432+
!defined(LINUXKM_LKCAPI_REGISTER_HASH_DRBG_DEFAULT)
433+
#define LINUXKM_LKCAPI_REGISTER_HASH_DRBG_DEFAULT
434+
#endif
435+
425436
#ifndef __PIE__
426437
#include <linux/crypto.h>
427438
#include <linux/scatterlist.h>
@@ -469,7 +480,7 @@
469480
extern void free_wolfcrypt_linuxkm_fpu_states(void);
470481
WOLFSSL_API __must_check int wc_can_save_vector_registers_x86(void);
471482
WOLFSSL_API __must_check int wc_save_vector_registers_x86(enum wc_svr_flags flags);
472-
WOLFSSL_API void wc_restore_vector_registers_x86(void);
483+
WOLFSSL_API void wc_restore_vector_registers_x86(enum wc_svr_flags flags);
473484

474485
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0)
475486
#include <asm/i387.h>
@@ -505,14 +516,14 @@
505516
#endif
506517
#endif
507518
#ifndef RESTORE_VECTOR_REGISTERS
508-
#define RESTORE_VECTOR_REGISTERS() wc_restore_vector_registers_x86()
519+
#define RESTORE_VECTOR_REGISTERS() wc_restore_vector_registers_x86(WC_SVR_FLAG_NONE)
509520
#endif
510521

511522
#ifndef DISABLE_VECTOR_REGISTERS
512523
#define DISABLE_VECTOR_REGISTERS() wc_save_vector_registers_x86(WC_SVR_FLAG_INHIBIT)
513524
#endif
514525
#ifndef REENABLE_VECTOR_REGISTERS
515-
#define REENABLE_VECTOR_REGISTERS() wc_restore_vector_registers_x86()
526+
#define REENABLE_VECTOR_REGISTERS() wc_restore_vector_registers_x86(WC_SVR_FLAG_INHIBIT)
516527
#endif
517528

518529
#elif defined(WOLFSSL_LINUXKM_USE_SAVE_VECTOR_REGISTERS) && (defined(CONFIG_ARM) || defined(CONFIG_ARM64))
@@ -1217,12 +1228,12 @@
12171228
#if defined(CONFIG_X86)
12181229
WOLFSSL_API __must_check int wc_can_save_vector_registers_x86(void);
12191230
WOLFSSL_API __must_check int wc_save_vector_registers_x86(enum wc_svr_flags flags);
1220-
WOLFSSL_API void wc_restore_vector_registers_x86(void);
1231+
WOLFSSL_API void wc_restore_vector_registers_x86(enum wc_svr_flags flags);
12211232
#ifndef DISABLE_VECTOR_REGISTERS
12221233
#define DISABLE_VECTOR_REGISTERS() wc_save_vector_registers_x86(WC_SVR_FLAG_INHIBIT)
12231234
#endif
12241235
#ifndef REENABLE_VECTOR_REGISTERS
1225-
#define REENABLE_VECTOR_REGISTERS() wc_restore_vector_registers_x86()
1236+
#define REENABLE_VECTOR_REGISTERS() wc_restore_vector_registers_x86(WC_SVR_FLAG_INHIBIT)
12261237
#endif
12271238
#else /* !CONFIG_X86 */
12281239
#error WOLFSSL_LINUXKM_USE_SAVE_VECTOR_REGISTERS is set for an unimplemented architecture.

linuxkm/lkcapi_aes_glue.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
2020
*/
2121

22+
/* included by linuxkm/lkcapi_glue.c */
23+
#ifndef WC_SKIP_INCLUDED_C_FILES
24+
2225
#ifndef LINUXKM_LKCAPI_REGISTER
2326
#error lkcapi_aes_glue.c included in non-LINUXKM_LKCAPI_REGISTER project.
2427
#endif
@@ -4312,3 +4315,5 @@ static int linuxkm_test_aesecb(void) {
43124315
#endif /* LINUXKM_LKCAPI_REGISTER_AESECB */
43134316

43144317
#endif /* LINUXKM_LKCAPI_REGISTER_AES */
4318+
4319+
#endif /* !WC_SKIP_INCLUDED_C_FILES */

linuxkm/lkcapi_dh_glue.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
2121
*/
2222

23+
/* included by linuxkm/lkcapi_glue.c */
24+
#ifndef WC_SKIP_INCLUDED_C_FILES
25+
2326
#ifndef LINUXKM_LKCAPI_REGISTER
2427
#error lkcapi_dh_glue.c included in non-LINUXKM_LKCAPI_REGISTER project.
2528
#endif
@@ -2966,3 +2969,5 @@ static int linuxkm_test_kpp_driver(const char * driver,
29662969
}
29672970

29682971
#endif /* LINUXKM_LKCAPI_REGISTER_DH */
2972+
2973+
#endif /* !WC_SKIP_INCLUDED_C_FILES */

linuxkm/lkcapi_ecdh_glue.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
2121
*/
2222

23+
/* included by linuxkm/lkcapi_glue.c */
24+
#ifndef WC_SKIP_INCLUDED_C_FILES
25+
2326
#ifndef LINUXKM_LKCAPI_REGISTER
2427
#error lkcapi_ecdh_glue.c included in non-LINUXKM_LKCAPI_REGISTER project.
2528
#endif
@@ -991,3 +994,5 @@ static int linuxkm_test_ecdh_nist_driver(const char * driver,
991994
}
992995

993996
#endif /* LINUXKM_LKCAPI_REGISTER_ECDH */
997+
998+
#endif /* !WC_SKIP_INCLUDED_C_FILES */

linuxkm/lkcapi_ecdsa_glue.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
2121
*/
2222

23+
/* included by linuxkm/lkcapi_glue.c */
24+
#ifndef WC_SKIP_INCLUDED_C_FILES
25+
2326
#ifndef LINUXKM_LKCAPI_REGISTER
2427
#error lkcapi_ecdsa_glue.c included in non-LINUXKM_LKCAPI_REGISTER project.
2528
#endif
@@ -843,3 +846,5 @@ static int linuxkm_test_ecdsa_nist_driver(const char * driver,
843846
}
844847

845848
#endif /* LINUXKM_LKCAPI_REGISTER_ECDSA */
849+
850+
#endif /* !WC_SKIP_INCLUDED_C_FILES */

linuxkm/lkcapi_glue.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
*/
2222

2323
/* included by linuxkm/module_hooks.c */
24+
#ifndef WC_SKIP_INCLUDED_C_FILES
2425

2526
#ifndef LINUXKM_LKCAPI_REGISTER
2627
#error lkcapi_glue.c included in non-LINUXKM_LKCAPI_REGISTER project.
@@ -981,3 +982,5 @@ static int linuxkm_lkcapi_unregister(void)
981982

982983
return seen_err;
983984
}
985+
986+
#endif /* !WC_SKIP_INCLUDED_C_FILES */

linuxkm/lkcapi_rsa_glue.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
2121
*/
2222

23+
/* included by linuxkm/lkcapi_glue.c */
24+
#ifndef WC_SKIP_INCLUDED_C_FILES
25+
2326
#ifndef LINUXKM_LKCAPI_REGISTER
2427
#error lkcapi_rsa_glue.c included in non-LINUXKM_LKCAPI_REGISTER project.
2528
#endif
@@ -3250,3 +3253,5 @@ static int get_hash_enc_len(int hash_oid)
32503253
return enc_len;
32513254
}
32523255
#endif /* LINUXKM_LKCAPI_REGISTER_RSA */
3256+
3257+
#endif /* !WC_SKIP_INCLUDED_C_FILES */

linuxkm/lkcapi_sha_glue.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
2020
*/
2121

22+
/* included by linuxkm/lkcapi_glue.c */
23+
#ifndef WC_SKIP_INCLUDED_C_FILES
24+
2225
#ifndef LINUXKM_LKCAPI_REGISTER
2326
#error lkcapi_sha_glue.c included in non-LINUXKM_LKCAPI_REGISTER project.
2427
#endif
@@ -374,10 +377,7 @@
374377
!defined(LINUXKM_LKCAPI_REGISTER_HASH_DRBG)
375378
#define LINUXKM_LKCAPI_REGISTER_HASH_DRBG
376379
#endif
377-
#if (defined(LINUXKM_LKCAPI_REGISTER_ALL) && !defined(LINUXKM_LKCAPI_DONT_REGISTER_HASH_DRBG_DEFAULT)) && \
378-
!defined(LINUXKM_LKCAPI_REGISTER_HASH_DRBG_DEFAULT)
379-
#define LINUXKM_LKCAPI_REGISTER_HASH_DRBG_DEFAULT
380-
#endif
380+
/* setup for LINUXKM_LKCAPI_REGISTER_HASH_DRBG_DEFAULT is in linuxkm_wc_port.h */
381381
#else
382382
#undef LINUXKM_LKCAPI_REGISTER_HASH_DRBG
383383
#endif
@@ -2048,3 +2048,5 @@ static int wc_linuxkm_drbg_cleanup(void) {
20482048
}
20492049

20502050
#endif /* LINUXKM_LKCAPI_REGISTER_HASH_DRBG */
2051+
2052+
#endif /* !WC_SKIP_INCLUDED_C_FILES */

0 commit comments

Comments
 (0)