From 71bffcc5ebd16b1a45d5873db225e005aaddebcc Mon Sep 17 00:00:00 2001 From: Daniel Pouzzner Date: Thu, 22 Jan 2026 17:17:57 -0600 Subject: [PATCH 1/2] linuxkm/Kbuild: move FORCE_GLOBAL_OBJTOOL_OFF setup outside ENABLED_LINUXKM_PIE setup, i.e. always usable. --- linuxkm/Kbuild | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/linuxkm/Kbuild b/linuxkm/Kbuild index 6f1a2f320b4..1cafd115219 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 From a1b43ab3faadf9b17c165c706dc40abab2008b31 Mon Sep 17 00:00:00 2001 From: Daniel Pouzzner Date: Thu, 22 Jan 2026 17:19:01 -0600 Subject: [PATCH 2/2] wolfssl/wolfcrypt/dilithium.h: add a check for whether all supported levels are disabled, in WOLFSSL_WC_DILITHIUM setup. --- wolfssl/wolfcrypt/dilithium.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/wolfssl/wolfcrypt/dilithium.h b/wolfssl/wolfcrypt/dilithium.h index 3ebaa49a1a1..cb17a02e318 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