Daniel Pouzzner
|
bc8664164b
linuxkm: move the *SAVE_VECTOR_REGISTERS* code from linuxkm/linuxkm_memory.c to linuxkm/x86_vector_register_glue.c, to move various fidgity/unstable kernel function calls outside the PIE wolfCrypt container.
|
6 ay önce |
Daniel Pouzzner
|
bb4c2cbad6
address peer review: typography in linuxkm/linuxkm_memory.c, typography, clarity, and efficiency in wolfcrypt/src/sha256.c and wolfcrypt/src/sha512.c.
|
6 ay önce |
Daniel Pouzzner
|
326fd87b4f
linuxkm/linuxkm_memory.c: fix circular dependency around wolfCrypt_Init(), allocate_wolfcrypt_linuxkm_fpu_states(), wc_linuxkm_fpu_state_assoc(), on FIPS.
|
6 ay önce |
Daniel Pouzzner
|
0a4eb1fbc7
linuxkm/linuxkm_memory.c: require kernel 5.4+ for AESNI/AVX, and add fixup code in wc_linuxkm_fpu_state_assoc_unlikely() to cope with migrations. in save_vector_registers_x86(), on kernel < 5.17, check test_thread_flag(TIF_NEED_FPU_LOAD) as a workaround for irq_fpu_usable() missing check for in_kernel_fpu.
|
6 ay önce |
Daniel Pouzzner
|
954005af9a
linuxkm/linuxkm_memory.c: refactor wc_linuxkm_fpu_state_assoc() as a lock-free O(1) mechanism with per-CPU rather than per-process state.
|
6 ay önce |
Daniel Pouzzner
|
b1e5d0f9bb
linuxkm: completion and stabilization of LKCAPI integration for AES-CBC, AES-CFB, AES-GCM, and AES-XTS:
|
9 ay önce |
Daniel Pouzzner
|
9c36bb9073
linuxkm: add WOLFSSL_COMMERCIAL_LICENSE alternative to kernel_fpu_begin()/kernel_fpu_end() in save_vector_registers_x86()/restore_vector_registers_x86(): allocate wc_linuxkm_fpu_savebufs as a buffer for os_xsave()/os_xrstor(), and use fpregs_lock()/fpregs_unlock() to inhibit softirqs/preemption.
|
10 ay önce |
Daniel Pouzzner
|
4f4842fce6
linuxkm/linuxkm_memory.c: refactor SAVE/RESTORE_VECTOR_REGISTERS() to be per-process rather than per-CPU, and add migrate_disable/enable() to kernel_fpu_begin/end() because preempt_disable() is just a barrier on _PREEMPT_VOLUNTARY kernels;
|
1 yıl önce |
Daniel Pouzzner
|
ec9beaab41
linuxkm: add coverage for Linux 6.4+ module memory layout refactor; also, refactor WOLFSSL_LINUXKM_USE_SAVE_VECTOR_REGISTERS to make it settable independent of WOLFSSL_AESNI etc.
|
1 yıl önce |
Daniel Pouzzner
|
448f1ec9e7
linuxkm: in {save,restore}_vector_registers_x86(), check if vector register file has already been saved and invalidated, and if so, inhibit the kernel_fpu_{begin,end}() wrap and instead just use preempt_{disable,enable}() wraps.
|
1 yıl önce |
Jacob Barthelmeh
|
9dcc48c8f7
update copyright to 2023
|
1 yıl önce |
Daniel Pouzzner
|
c8c107a09e
linuxkm/: fixes to deal with kernel 6.1+ show_free_areas() mess.
|
2 yıl önce |
Jacob Barthelmeh
|
8eaa85e412
update copyright year to 2022
|
2 yıl önce |
Daniel Pouzzner
|
ff4c6e5d7b
linuxkm: relocate WOLFSSL_LINUXKM code in wolfssl/wolfcrypt/wc_port.h and wolfcrypt/src/memory.c to linuxkm/{linuxkm_wc_port.h,linuxkm_memory.c}, and gate SIMD in IRQ handlers on -DLINUXKM_SIMD_IRQ in prep for Linux 5.16;
|
2 yıl önce |