]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
objtool/klp: Only enable --checksum when needed
authorJosh Poimboeuf <jpoimboe@kernel.org>
Wed, 12 Nov 2025 23:32:34 +0000 (15:32 -0800)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 18 Nov 2025 08:59:26 +0000 (09:59 +0100)
With CONFIG_KLP_BUILD enabled, checksums are only needed during a
klp-build run.  There's no need to enable them for normal kernel builds.

This also has the benefit of softening the xxhash dependency.

Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Michael Kelley <mhklinux@outlook.com>
Link: https://patch.msgid.link/edbb1ca215e4926e02edb493b68b9d6d063e902f.1762990139.git.jpoimboe@kernel.org
arch/x86/boot/startup/Makefile
scripts/Makefile.lib
scripts/livepatch/klp-build

index e8fdf020b4223eb1a02f753aabd4a0c225bab65c..5e499cfb29b5c000c83beaea849453133bcf5fa0 100644 (file)
@@ -36,7 +36,7 @@ $(patsubst %.o,$(obj)/%.o,$(lib-y)): OBJECT_FILES_NON_STANDARD := y
 # relocations, even if other objtool actions are being deferred.
 #
 $(pi-objs): objtool-enabled    = 1
-$(pi-objs): objtool-args       = $(if $(delay-objtool),,$(objtool-args-y)) --noabs
+$(pi-objs): objtool-args       = $(if $(delay-objtool),--dry-run,$(objtool-args-y)) --noabs
 
 #
 # Confine the startup code by prefixing all symbols with __pi_ (for position
index f4b33919ec371d55c6bbb3d0dad4d39aa328a0e2..28a1c08e3b221e7e4e967d64a051f6f684140b2d 100644 (file)
@@ -173,7 +173,6 @@ ifdef CONFIG_OBJTOOL
 
 objtool := $(objtree)/tools/objtool/objtool
 
-objtool-args-$(CONFIG_KLP_BUILD)                       += --checksum
 objtool-args-$(CONFIG_HAVE_JUMP_LABEL_HACK)            += --hacks=jump_label
 objtool-args-$(CONFIG_HAVE_NOINSTR_HACK)               += --hacks=noinstr
 objtool-args-$(CONFIG_MITIGATION_CALL_DEPTH_TRACKING)  += --hacks=skylake
index 881e052e7faefb3e87234e71b1b12471aeefccf3..882272120c9ef1ea32c44ff2a02ad7a20766aacb 100755 (executable)
@@ -489,8 +489,11 @@ clean_kernel() {
 
 build_kernel() {
        local log="$TMP_DIR/build.log"
+       local objtool_args=()
        local cmd=()
 
+       objtool_args=("--checksum")
+
        cmd=("make")
 
        # When a patch to a kernel module references a newly created unexported
@@ -513,6 +516,7 @@ build_kernel() {
        cmd+=("$VERBOSE")
        cmd+=("-j$JOBS")
        cmd+=("KCFLAGS=-ffunction-sections -fdata-sections")
+       cmd+=("OBJTOOL_ARGS=${objtool_args[*]}")
        cmd+=("vmlinux")
        cmd+=("modules")