diff --git a/linuxkm/Kbuild b/linuxkm/Kbuild index 6f1a2f320b..1cafd11521 100644 --- a/linuxkm/Kbuild +++ b/linuxkm/Kbuild @@ -147,9 +147,15 @@ ifeq "$(ENABLED_LINUXKM_PIE)" "yes" $(WOLFCRYPT_PIE_FILES): ccflags-y += $(PIE_FLAGS) $(WOLFCRYPT_PIE_FILES): ccflags-remove-y += -pg \ $(call cc-option,-ftrivial-auto-var-init=zero) - ifdef FORCE_GLOBAL_OBJTOOL_OFF - undefine CONFIG_OBJTOOL - endif +endif + +# On some kernels/configs, objtool runs and warns on the linked libwolfssl.o, +# ignoring the below "OBJECT_FILES_NON_STANDARD := y" annotations. This +# mechanism, activated with "make KBUILD_EXTRA_FLAGS=FORCE_GLOBAL_OBJTOOL_OFF=1", +# inhibits objtool completely. This may be necessary on modules compiled with +# assembly accelerations and/or ENABLED_LINUXKM_PIE. +ifdef FORCE_GLOBAL_OBJTOOL_OFF + undefine CONFIG_OBJTOOL endif ifdef KERNEL_EXTRA_CFLAGS_REMOVE diff --git a/wolfssl/wolfcrypt/dilithium.h b/wolfssl/wolfcrypt/dilithium.h index 3ebaa49a1a..cb17a02e31 100644 --- a/wolfssl/wolfcrypt/dilithium.h +++ b/wolfssl/wolfcrypt/dilithium.h @@ -569,7 +569,7 @@ * the footer "-----END ML_DSA_LEVEL5 PRIVATE KEY-----" */ #define DILITHIUM_MAX_BOTH_KEY_PEM_SIZE DILITHIUM_LEVEL3_BOTH_KEY_PEM_SIZE -#else +#elif !defined(WOLFSSL_NO_ML_DSA_44) #define DILITHIUM_MAX_KEY_SIZE DILITHIUM_LEVEL2_KEY_SIZE #define DILITHIUM_MAX_SIG_SIZE DILITHIUM_LEVEL2_SIG_SIZE @@ -583,6 +583,10 @@ * the footer "-----END ML_DSA_LEVEL5 PRIVATE KEY-----" */ #define DILITHIUM_MAX_BOTH_KEY_PEM_SIZE DILITHIUM_LEVEL2_BOTH_KEY_PEM_SIZE +#else + +#error ML-DSA: All levels disabled. + #endif #elif defined(HAVE_LIBOQS) @@ -676,8 +680,8 @@ /* PEM size with the header "-----BEGIN ML_DSA_LEVEL5 PRIVATE KEY-----" and * the footer "-----END ML_DSA_LEVEL5 PRIVATE KEY-----" */ #define DILITHIUM_MAX_BOTH_KEY_PEM_SIZE DILITHIUM_LEVEL5_BOTH_KEY_PEM_SIZE -#endif +#endif /* HAVE_LIBOQS */ #ifdef WOLF_PRIVATE_KEY_ID