Daniel Pouzzner
|
cd14cfb092
|
linuxkm: override-disable SIMD instructions for all .c.o's, with exceptions enumerated in Kbuild (currently only aes.c), and couple -msse with -fno-builtin-functions; export ENABLED_ASM for use as a pivot in Kbuild; use asm/i387.h, not asm/simd.h, for kernel_fpu_{begin,end}() protos.
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
3626332334
|
wolfcrypt/src/aes.c for linuxkm: add missing vector register push/pops.
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
87b2384cac
|
linuxkm settings.h: define NO_STDIO_FILESYSTEM
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
69052ff535
|
linuxkm: explanatory message and error exit on attempted make install.
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
e881d92366
|
add linuxkm/module_exports.c.template to linuxkm/include.am $EXTRA_DIST.
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
05bca8b0ee
|
when BUILD_LINUXKM, suppress building the library; rename $KROOT/$KARCH to $KERNEL_ROOT/$KERNEL_ARCH; remove SIMD enablement from linuxkm CFLAGS; add linuxkm support for -DKERNEL_OPT=x.
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
360c749703
|
add {SAVE,RESTORE}_VECTOR_REGISTERS() macros for kernel_fpu_{begin,end} when WOLFSSL_LINUXKM, to allow safe use of AESNI and SIMD instructions in the kernel.
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
2c564a7728
|
update .gitignore with more artifacts from linuxkm build.
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
9549a5f973
|
linuxkm: add linuxkm/module_exports.c.template, and autogenerate linuxkm/module_exports.c.
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
e8b69f8a6a
|
dh_test(): fix missing casts for XMALLOC().
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
7bc33f4ec1
|
linuxkm: retain noinline from kernel headers, and use it directly in wolfssl/wolfcrypt/sp.h.
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
9aa3a4c559
|
linuxkm/Kbuild: make dependency on get_thread_size order-only, to suppress frivolous rebuilds on kernel 4.x.
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
f440089e92
|
dh_test(): fix typo (undersized dynamic buffers).
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
8b19a9b58c
|
benchmark.c: fix always-true tests for DECLARE_VAR_IS_HEAP_ALLOC.
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
f106fea0d8
|
rsa_no_pad_test(): fix uninited pointer.
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
4ea8b46177
|
dh_test(): refactor remaining bare returns to ERROR_OUT().
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
2ee218761e
|
dh_test(): missed a spot in last commit.
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
ca1a991de5
|
wolfcrypt/test/test.c: fix an error-path leak in dh_test(), and deal with possible -Wdeclaration-after-statement for XFILE file.
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
a7381f8a48
|
test.c:rsa_test(): fix uninited pointer
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
6c32a730c2
|
more work on DECLARE_VAR -- fix allocation failure handling in bench_rsa_helper() to avoid uninitialized variables.
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
426de2101a
|
more work on DECLARE_VAR -- proper handling of failed allocations. WIP.
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
d8e71e8dd2
|
linuxkm/Kbuild: disable objtool on AESNI asm objects -- they work in the kernel as-is, despite "unannotated intra-function call" and "BP used as a scratch register" warnings.
|
2020-09-23 18:32:16 -05:00 |
|
Daniel Pouzzner
|
3c91ce9342
|
wolfcrypt/src/sp_int.c: undo 8efb1142f1f2744ff128033df8a3a2d43e42fd93 to take dgarske's better wc_bigint_init()-based take on it (aa870861921a317cca9a978a75a7de127809e100).
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
d7450b85f7
|
linuxkm/Makefile: use -Wno-declaration-after-statement (needed for heapful DECLARE_VAR() et al).
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
c5d28c16b5
|
wolfcrypt/src/sp_int.c: clear whole struct in sp_init() and sp_init_multi(), to fix uninited pointer free()s in sp_free() when --enable-sp-math -DHAVE_WOLF_BIGINT.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
9b7c753165
|
wolfssl/wolfcrypt/types.h: make DECLARE_VAR() et al use heap allocation not only when WOLFSSL_ASYNC_CRYPT but also when WOLFSSL_SMALL_STACK.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
ce8f2e65de
|
wolfcrypt/src/sha256.c: undo c801de9d23c2f3348b84fdb8d893f81e6c3c2849 (dgarske has better&correct fix in 76e1760f915934bdc4911f3ae41abe6803ae094a).
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
571bf897c4
|
wolfcrypt/test/test.c: stack->heap refactor for dh_test().
|
2020-09-23 18:32:15 -05:00 |
|
David Garske
|
66b59bda9b
|
Fix for expected fail test in openssl_test for partial block. Fix for mp_test with ECC disabled, which uses mp_init_copy.
|
2020-09-23 18:32:15 -05:00 |
|
David Garske
|
0f8cf32122
|
Fix for possible leak in openssl_test because EVP free not called with WOLFSSL_SMALL_STACK_CACHE (SHA256/SHA512). Added return code checking to the openssl_test in wolfCrypt test.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
32e30d23c6
|
wolfcrypt/test/test.c: fix uninitialized values in aesofb_test().
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
e09487de1f
|
sha256.c: add missing _SMALL_STACK_CACHE initialization in InitSha256().
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
922b023aea
|
wolfcrypt/src/random.c: rename the DRBG internal type __DRBG, because some customer is compiling libwolfssl with a "g++" override, which precludes typedefs and structs with different types but equal labels.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
9611f7abfd
|
linuxkm/Makefile: add no-op distdir rule.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
03fe9c15c0
|
linuxkm/Makefile: add do-nothing dist rule, and refactor setness tests for libwolfssl.ko to be make-dist-compatible.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
f56c6d1d8f
|
wolfcrypt/test/test.c and wolfssl/test.h: implement DEBUG_STACK_SIZE_VERBOSE, measuring and reporting stack usage separately for each test. to use, ./configure --enable-stacksize && make CFLAGS+=-DDEBUG_STACK_SIZE_VERBOSE; also, remove a throwaway dev pragma that snuck into an earlier commit.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
925afe3b74
|
cast XMALLOC() return values assiduously, for Visual Studio compatibility.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
195b5d2d2c
|
lkm: add linuxkm/include.am, and include it in Makefile.am.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
d86b0601b9
|
lkm: tweak Kbuild to work on 4.x (hardcoded fallback stack size); add linuxkm/get_thread_size.c.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
c194fb3beb
|
lkm: add autodetection of kernel stack frame size; reactivate objtool scrutiny since _asm files are indeed not yet kernel-compatible; delete linuxkm/lkm_testcrypto.c and use wolfcrypt/test/test.c.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
535822f4df
|
wolfcrypt/test/test.c: refactor for stack size and namespace control, allowing embedding of wolfcrypt_test() in kernel module.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
f5975d95db
|
src/ssl.c: use heap for workspace in wolfSSL_X509_sign(), wolfSSL_d2i_RSAPrivateKey_bio(), and wolfSSL_CTX_use_RSAPrivateKey().
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
9ca94d6ca7
|
wolfcrypt/src/ge_448.c: refactor ge448_double_scalarmult_vartime() to use heap for workspace unless WOLFSSL_NO_MALLOC.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
1735bd7430
|
lkm_testcrypto.c: refactor subtests at end of dh_test() to use ERROR_OUT() with proper codes.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
217ec4ebd3
|
lkm: tweaks to self-test dynamics/messages.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
554879da00
|
lkm: self-test working now (certain options, which ones TBD, crash kernel).
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
34fd53b4fc
|
linuxkm: WIP support for wolfcrypt_test() at module load time.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
0c35998178
|
linuxkm/module_hooks.c: log "cleanup complete" at unload time.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
92df5692b1
|
wolfcrypt/src/ecc.c: revert to commit g0fa5af9, which has all the necessary fixes.
|
2020-09-23 18:32:15 -05:00 |
|
Daniel Pouzzner
|
0cfe9ca5d6
|
configure.ac: --enable-linuxkm: improved defaults and consistency checking.
|
2020-09-23 18:32:15 -05:00 |
|