====================================================================== BUILD LOG: pass/long/multi-patch ====================================================================== Verdict: pass Exit code: 0 Kernel: 6.19.0-1-default+ Toolchain: Compiler: gcc (GCC) 14.3.1 20251022 (Red Hat 14.3.1-4) Linker: GNU ld version 2.41-63.el10 Assembler: GNU assembler version 2.41-63.el10 ====================================================================== FULL BUILD OUTPUT ====================================================================== --- klp-build stdout --- Validating patch(es) checking file fs/proc/loadavg.c Hunk #1 succeeded at 15 (offset 1 line). Fixing patch(es) Building patched kernel Copying patched object files Diffing objects vmlinux.o: changed function: cmdline_proc_show vmlinux.o: changed function: loadavg_proc_show Building patch module: livepatch-patch.ko SUCCESS --- klp-build stderr --- warn: klp-build: /root/linux/tools/testing/selftests/klp-build/tests/current-tree/pass/long/multi-patch/0002-multi-patch.patch applied with drift --- diff.log --- vmlinux.o: changed function: cmdline_proc_show vmlinux.o: changed function: loadavg_proc_show ====================================================================== BUILD VERIFICATION ====================================================================== klp-build exit code is 0 Module exists: livepatch-patch.ko verify_diff_log_contains('changed function: cmdline_proc_show'): OK verify_diff_log_contains('changed function: loadavg_proc_show'): OK ELF Analysis: klp_object[0]: .name = NULL (vmlinux) VERIFIED: klp_object.name = NULL (vmlinux) klp_func[0]: .old_name = "cmdline_proc_show" [-> .rodata+0x189] .new_func -> cmdline_proc_show .old_sympos = 0 klp_func[1]: .old_name = "loadavg_proc_show" [-> .rodata+0x19b] .new_func -> loadavg_proc_show .old_sympos = 0 VERIFIED: klp_func.old_name = 'cmdline_proc_show' VERIFIED: klp_func.new_func -> cmdline_proc_show VERIFIED: klp_func.old_name = 'loadavg_proc_show' VERIFIED: klp_func.new_func -> loadavg_proc_show ====================================================================== TEST PATCH(ES) ====================================================================== --- Patch 1: 0001-multi-patch.patch --- From: Test Author Subject: [PATCH 1/2] proc/cmdline: add debug message Multi-patch test case - first patch. This is the first of two patches that will be applied together to verify klp-build handles multiple patch inputs. diff --git a/fs/proc/cmdline.c b/fs/proc/cmdline.c --- a/fs/proc/cmdline.c +++ b/fs/proc/cmdline.c @@ -8,6 +8,7 @@ static int cmdline_proc_show(struct seq_file *m, void *v) { + pr_info("klp-build-test: cmdline patch 1\n"); seq_puts(m, saved_command_line); seq_putc(m, '\n'); return 0; --- Patch 2: 0002-multi-patch.patch --- From: Test Author Subject: [PATCH 2/2] proc/loadavg: add debug message Multi-patch test case - second patch. This is the second of two patches that will be applied together to verify klp-build handles multiple patch inputs. diff --git a/fs/proc/loadavg.c b/fs/proc/loadavg.c --- a/fs/proc/loadavg.c +++ b/fs/proc/loadavg.c @@ -14,6 +14,7 @@ static int loadavg_proc_show(struct seq_file *m, void *v) { unsigned long avnrun[3]; + pr_info("klp-build-test: loadavg patch 2\n"); get_avenrun(avnrun, FIXED_1/200, 0); seq_printf(m, "%lu.%02lu %lu.%02lu %lu.%02lu %u/%d %d\n",