====================================================================== BUILD LOG: pass/lto-static-to-nonstatic ====================================================================== Verdict: pass Exit code: 0 Kernel: 6.19.0+ Toolchain: Compiler: clang version 21.1.8 (Fedora 21.1.8-4.fc43) Linker: LLD 21.1.8 (compatible with GNU linkers) Assembler: Clang integrated assembler ====================================================================== FULL BUILD OUTPUT ====================================================================== --- klp-build stdout --- Validating patch(es) Fixing patch(es) Building patched kernel Copying patched object files Diffing objects vmlinux.o: changed function: klp_test_static_proc_show vmlinux.o: changed function: klp_test_stn_func Building patch module: livepatch-lto-static-to-nonstatic.ko SUCCESS --- klp-build stderr --- WARNING: modpost: missing MODULE_DESCRIPTION() in kernel/livepatch/klp_test_mod.o vmlinux.o: warning: objtool: correlate LOCAL klp_test_stn_func (original) to GLOBAL klp_test_stn_func (patched) --- diff.log --- vmlinux.o: warning: objtool: correlate LOCAL klp_test_stn_func (original) to GLOBAL klp_test_stn_func (patched) vmlinux.o: changed function: klp_test_static_proc_show vmlinux.o: changed function: klp_test_stn_func ====================================================================== BUILD VERIFICATION ====================================================================== klp-build exit code is 0 Module exists: livepatch-lto-static-to-nonstatic.ko ELF Analysis: klp_object[0]: .name = NULL (vmlinux) .callbacks = {0} VERIFIED: klp_object.name = NULL (vmlinux) klp_func[0]: .old_name = "klp_test_static_proc_show" [-> .rodata+0x5b] .new_func -> klp_test_static_proc_show .old_sympos = 0 klp_func[1]: .old_name = "klp_test_stn_func" [-> .rodata+0x75] .new_func -> klp_test_stn_func .old_sympos = 0 VERIFIED: klp_func target contains 'klp_test_static_proc_show' ThinLTO: CONFIG_LTO_CLANG_THIN=y Original binding: t (expected 't' = LOCAL) ====================================================================== TEST PATCH(ES) ====================================================================== --- Patch: lto-static-to-nonstatic.patch --- --- a/kernel/livepatch/klp_test_static.c +++ b/kernel/livepatch/klp_test_static.c @@ -16,7 +16,9 @@ static int klp_test_stn_var; -static noinline int klp_test_stn_func(void) +noinline int klp_test_stn_func(void); + +noinline int klp_test_stn_func(void) { klp_test_stn_var += 5; if (klp_test_stn_var > 1000) @@ -26,7 +28,7 @@ static noinline int klp_test_stn_func(vo static int klp_test_static_proc_show(struct seq_file *m, void *v) { - seq_printf(m, "stn unpatched %d\n", klp_test_stn_func()); + seq_printf(m, "stn patched %d\n", klp_test_stn_func()); return 0; }