On Wed, Feb 18, 2026 at 7:08 PM Song Liu <[email protected]> wrote:
>
> On Wed, Feb 18, 2026 at 3:00 PM Joe Lawrence <[email protected]> wrote:
> >
> > On Thu, Feb 12, 2026 at 11:21:53AM -0800, Song Liu wrote:
> [...]
> > vmlinux.o: warning: objtool: correlate c_start.llvm.15251198824366928061 
> > (origial) to c_start.llvm.14107081093236395767 (patched)
> > vmlinux.o: warning: objtool: correlate c_stop.llvm.15251198824366928061 
> > (origial) to c_stop.llvm.14107081093236395767 (patched)
> > vmlinux.o: warning: objtool: correlate c_next.llvm.15251198824366928061 
> > (origial) to c_next.llvm.14107081093236395767 (patched)
> > vmlinux.o: warning: objtool: correlate 
> > show_cpuinfo.llvm.15251198824366928061 (origial) to 
> > show_cpuinfo.llvm.10047843810948474008 (patched)
> > vmlinux.o: warning: objtool: correlate .str.llvm.1768504738091882651 
> > (origial) to .str.llvm.7814622528726587167 (patched)
> > vmlinux.o: warning: objtool: correlate 
> > crypto_seq_ops.llvm.1768504738091882651 (origial) to 
> > crypto_seq_ops.llvm.14107081093236395767 (patched)
> > vmlinux.o: warning: objtool: correlate c_start.llvm.1768504738091882651 
> > (origial) to c_start.llvm.14107081093236395767 (patched)
> > vmlinux.o: warning: objtool: correlate c_stop.llvm.1768504738091882651 
> > (origial) to c_stop.llvm.14107081093236395767 (patched)
> > vmlinux.o: warning: objtool: correlate c_next.llvm.1768504738091882651 
> > (origial) to c_next.llvm.14107081093236395767 (patched)
> > vmlinux.o: warning: objtool: correlate c_show.llvm.1768504738091882651 
> > (origial) to c_show.llvm.14107081093236395767 (patched)
> > vmlinux.o: warning: objtool: correlate 
> > __pfx_c_start.llvm.15251198824366928061 (origial) to 
> > __pfx_c_start.llvm.14107081093236395767 (patched)
> > vmlinux.o: warning: objtool: correlate 
> > __pfx_c_stop.llvm.15251198824366928061 (origial) to 
> > __pfx_c_stop.llvm.14107081093236395767 (patched)
> > vmlinux.o: warning: objtool: correlate 
> > __pfx_c_next.llvm.15251198824366928061 (origial) to 
> > __pfx_c_next.llvm.14107081093236395767 (patched)
> > vmlinux.o: warning: objtool: correlate 
> > __pfx_show_cpuinfo.llvm.15251198824366928061 (origial) to 
> > __pfx_show_cpuinfo.llvm.10047843810948474008 (patched)
> > vmlinux.o: warning: objtool: correlate 
> > __pfx_c_start.llvm.1768504738091882651 (origial) to 
> > __pfx_c_start.llvm.14107081093236395767 (patched)
> > vmlinux.o: warning: objtool: correlate 
> > __pfx_c_stop.llvm.1768504738091882651 (origial) to 
> > __pfx_c_stop.llvm.14107081093236395767 (patched)
> > vmlinux.o: warning: objtool: correlate 
> > __pfx_c_next.llvm.1768504738091882651 (origial) to 
> > __pfx_c_next.llvm.14107081093236395767 (patched)
> > vmlinux.o: warning: objtool: correlate 
> > __pfx_c_show.llvm.1768504738091882651 (origial) to 
> > __pfx_c_show.llvm.14107081093236395767 (patched)
> > vmlinux.o: warning: objtool: no correlation: 
> > c_start.llvm.1768504738091882651
> > vmlinux.o: warning: objtool: no correlation: c_stop.llvm.1768504738091882651
> > vmlinux.o: warning: objtool: no correlation: c_next.llvm.1768504738091882651
> > vmlinux.o: new function: c_start.llvm.10047843810948474008
> > vmlinux.o: new function: c_stop.llvm.10047843810948474008
> > vmlinux.o: new function: c_next.llvm.10047843810948474008
> > vmlinux.o: changed function: c_start.llvm.14107081093236395767
> > vmlinux.o: changed function: c_stop.llvm.14107081093236395767
> > vmlinux.o: changed function: c_next.llvm.14107081093236395767
> > Building patch module: livepatch-min.ko
> > SUCCESS
>
> Thanks for the test case. This one shows the worst case of the .llvm.
> suffix issue.
>
> We have
>   c_start.llvm.15251198824366928061
>   c_start.llvm.1768504738091882651
> in the original kernel, and
>   c_start.llvm.14107081093236395767
>   c_start.llvm.10047843810948474008
> in the patched kernel.
>
> All of them are GLOBAL HIDDEN functions, so I don't think we can
> reliably correlate them. Maybe we should fail the build in such cases.
>
> Any comments and suggestions on this one? CC: Josh.

I fixed the correlation logic, with the min.patch from Joe that patches:
  arch/x86/kernel/cpu/proc.c
  crypto/proc.c
  fs/proc/consoles.c

we got the following failure:
Diffing objects
vmlinux.o: error: objtool: Multiple (2) correlation candidates for
c_start.llvm.18238767671416440194
error: klp-build: objtool klp diff failed

With a smaller patch, that only patches:
  arch/x86/kernel/cpu/proc.c
  fs/proc/consoles.c

There will be only one c_start.llvm.<hash>. klp-build fails with:
Diffing objects
vmlinux.o: warning: objtool: correlate
c_start.llvm.18238767671416440194 (original) to
c_start.llvm.4054753011035506728 (patched)
vmlinux.o: warning: objtool: correlate
c_stop.llvm.18238767671416440194 (original) to
c_stop.llvm.4054753011035506728 (patched)
vmlinux.o: warning: objtool: correlate
c_next.llvm.18238767671416440194 (original) to
c_next.llvm.4054753011035506728 (patched)
vmlinux.o: warning: objtool: correlate
show_cpuinfo.llvm.18238767671416440194 (original) to
show_cpuinfo.llvm.4054753011035506728 (patched)
Building patch module: livepatch-0001-min.ko
error: klp-build: no changes detected

This is the best solution I can think of at the moment. I will send v2
patches soon.

Thanks,
Song

Reply via email to