linuxkm/: fixes for ARMv7, and miscellaneous fixes for Makefile and FIPS logic.
This commit is contained in:
@@ -43,6 +43,10 @@ ifeq "$(KERNEL_ARCH)" "aarch64"
|
||||
WOLFSSL_CFLAGS += -mno-outline-atomics
|
||||
else ifeq "$(KERNEL_ARCH)" "arm64"
|
||||
WOLFSSL_CFLAGS += -mno-outline-atomics
|
||||
else ifeq "$(KERNEL_ARCH)" "arm"
|
||||
# avoids R_ARM_THM_JUMP11 relocations, including a stubborn tail recursion
|
||||
# optimization from wc_sp_cmp to wc_sp_cmp_mag:
|
||||
WOLFSSL_CFLAGS += -fno-optimize-sibling-calls -Os
|
||||
endif
|
||||
|
||||
obj-m := libwolfssl.o
|
||||
@@ -97,7 +101,7 @@ else
|
||||
WOLFSSL_CFLAGS_YES_VECTOR_INSNS := $(WOLFSSL_CFLAGS_NO_VECTOR_INSNS)
|
||||
endif
|
||||
|
||||
ccflags-y := $(WOLFSSL_CFLAGS) $(WOLFSSL_CFLAGS_NO_VECTOR_INSNS)
|
||||
ccflags-y = $(WOLFSSL_CFLAGS) $(WOLFSSL_CFLAGS_NO_VECTOR_INSNS)
|
||||
|
||||
ifeq "$(ENABLED_LINUXKM_PIE)" "yes"
|
||||
# note, we need -fno-stack-protector to avoid references to
|
||||
@@ -142,7 +146,7 @@ ifeq "$(ENABLED_LINUXKM_PIE)" "yes"
|
||||
endif
|
||||
|
||||
ifdef KERNEL_EXTRA_CFLAGS_REMOVE
|
||||
ccflags-remove-y += KERNEL_EXTRA_CFLAGS_REMOVE
|
||||
ccflags-remove-y += $(KERNEL_EXTRA_CFLAGS_REMOVE)
|
||||
endif
|
||||
|
||||
$(obj)/libwolfssl.mod.o: ccflags-y := $(PIE_SUPPORT_FLAGS)
|
||||
|
||||
@@ -207,6 +207,47 @@ endif
|
||||
.PHONY: libwolfssl.ko
|
||||
libwolfssl.ko:
|
||||
@set -e
|
||||
@[[ '$(V)' == 1 ]] && { echo 'MODULE_TOP = "$(MODULE_TOP)"';
|
||||
echo 'SRC_TOP = "$(SRC_TOP)"';
|
||||
echo 'AM_CPPFLAGS = "$(AM_CPPFLAGS)"';
|
||||
echo 'CPPFLAGS = "$(CPPFLAGS)"';
|
||||
echo 'AM_CFLAGS = "$(AM_CFLAGS)"';
|
||||
echo 'CFLAGS = "$(CFLAGS)"';
|
||||
echo 'KERNEL_EXTRA_CFLAGS = "$(KERNEL_EXTRA_CFLAGS)"';
|
||||
echo 'FIPS_OPTEST = "$(FIPS_OPTEST)"';
|
||||
echo 'AM_CCASFLAGS = "$(AM_CCASFLAGS)"';
|
||||
echo 'CCASFLAGS = "$(CCASFLAGS)"';
|
||||
echo 'src_libwolfssl_la_OBJECTS = "$(src_libwolfssl_la_OBJECTS)"';
|
||||
echo 'ENABLED_CRYPT_TESTS = "$(ENABLED_CRYPT_TESTS)"';
|
||||
echo 'ENABLED_LINUXKM_LKCAPI_REGISTER = "$(ENABLED_LINUXKM_LKCAPI_REGISTER)"';
|
||||
echo 'ENABLED_LINUXKM_BENCHMARKS = "$(ENABLED_LINUXKM_BENCHMARKS)"';
|
||||
echo 'ENABLED_LINUXKM_PIE = "$(ENABLED_LINUXKM_PIE)"';
|
||||
echo 'host_triplet = "$(host_triplet)"';
|
||||
echo 'build_triplet = "$(build_triplet)"';
|
||||
echo 'CC = "$(CC)"';
|
||||
echo 'AS = "$(AS)"';
|
||||
echo 'LD = "$(LD)"';
|
||||
echo 'READELF = "$(READELF)"';
|
||||
echo 'AWK = "$(AWK)"';
|
||||
echo 'TMPDIR = "$(TMPDIR)"';
|
||||
echo 'MAKE_TMPDIR = "$(MAKE_TMPDIR)"';
|
||||
echo 'KERNEL_ROOT = "$(KERNEL_ROOT)"';
|
||||
echo 'obj = "$(obj)"';
|
||||
echo 'RM = "$(RM)"';
|
||||
echo 'KERNEL_ARCH = "$(KERNEL_ARCH)"';
|
||||
echo 'FIPS_HASH = "$(FIPS_HASH)"';
|
||||
echo 'MAKE = "$(MAKE)"';
|
||||
echo 'ENABLED_ASM = "$(ENABLED_ASM)"';
|
||||
echo 'CFLAGS_FPU_DISABLE = "$(CFLAGS_FPU_DISABLE)"';
|
||||
echo 'CFLAGS_FPU_ENABLE = "$(CFLAGS_FPU_ENABLE)"';
|
||||
echo 'CFLAGS_SIMD_DISABLE = "$(CFLAGS_SIMD_DISABLE)"';
|
||||
echo 'CFLAGS_SIMD_ENABLE = "$(CFLAGS_SIMD_ENABLE)"';
|
||||
echo 'CFLAGS_AUTO_VECTORIZE_DISABLE = "$(CFLAGS_AUTO_VECTORIZE_DISABLE)"';
|
||||
echo 'CFLAGS_AUTO_VECTORIZE_ENABLE = "$(CFLAGS_AUTO_VECTORIZE_ENABLE)"';
|
||||
echo 'ASFLAGS_FPU_DISABLE_SIMD_ENABLE = "$(ASFLAGS_FPU_DISABLE_SIMD_ENABLE)"';
|
||||
echo 'ASFLAGS_FPU_ENABLE_SIMD_DISABLE = "$(ASFLAGS_FPU_ENABLE_SIMD_DISABLE)"';
|
||||
echo 'ASFLAGS_FPUSIMD_DISABLE = "$(ASFLAGS_FPUSIMD_DISABLE)"';
|
||||
echo 'ASFLAGS_FPUSIMD_ENABLE = "$(ASFLAGS_FPUSIMD_ENABLE)"'; }
|
||||
@function resolved_link_is_equal() { [[ -L "$$1" && "$$(readlink -f "$$1")" == "$$(readlink -f "$$2")" ]]; }
|
||||
@if test -z '$(KERNEL_ROOT)'; then echo '$$KERNEL_ROOT is unset' >&2; exit 1; fi
|
||||
@if test -z '$(AM_CFLAGS)$(CFLAGS)'; then echo '$$AM_CFLAGS and $$CFLAGS are both unset.' >&2; exit 1; fi
|
||||
|
||||
@@ -1198,7 +1198,7 @@ static int wc_linuxkm_drbg_seed(struct crypto_rng *tfm,
|
||||
{
|
||||
struct wc_linuxkm_drbg_ctx *ctx = (struct wc_linuxkm_drbg_ctx *)crypto_rng_ctx(tfm);
|
||||
u8 *seed_copy = NULL;
|
||||
int ret;
|
||||
int ret = 0;
|
||||
int n;
|
||||
|
||||
if ((tfm->base.__crt_alg->cra_init != wc_linuxkm_drbg_init_tfm) ||
|
||||
|
||||
@@ -142,11 +142,11 @@ static void lkmFipsCb(int ok, int err, const char* hash)
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WOLFCRYPT_FIPS_CORE_DYNAMIC_HASH_VALUE
|
||||
static int updateFipsHash(void);
|
||||
#endif
|
||||
#endif /* HAVE_FIPS */
|
||||
|
||||
#ifdef WOLFSSL_LINUXKM_BENCHMARKS
|
||||
extern int wolfcrypt_benchmark_main(int argc, char** argv);
|
||||
@@ -1507,7 +1507,7 @@ static int set_up_wolfssl_linuxkm_pie_redirect_table(void) {
|
||||
|
||||
#endif /* WC_PIE_RELOC_TABLES */
|
||||
|
||||
#ifdef WOLFCRYPT_FIPS_CORE_DYNAMIC_HASH_VALUE
|
||||
#if defined(HAVE_FIPS) && defined(WOLFCRYPT_FIPS_CORE_DYNAMIC_HASH_VALUE)
|
||||
|
||||
#include <wolfssl/wolfcrypt/coding.h>
|
||||
|
||||
@@ -1763,7 +1763,7 @@ static int updateFipsHash(void)
|
||||
return ret;
|
||||
}
|
||||
|
||||
#endif /* WOLFCRYPT_FIPS_CORE_DYNAMIC_HASH_VALUE */
|
||||
#endif /* HAVE_FIPS && WOLFCRYPT_FIPS_CORE_DYNAMIC_HASH_VALUE */
|
||||
|
||||
#ifdef CONFIG_HAVE_KPROBES
|
||||
|
||||
|
||||
Reference in New Issue
Block a user