Re: [PATCH 0/8] unwind, arm64: add sframe unwinder for kernel
Josh Poimboeuf <[email protected]>
| Newsgroups | org.kernel.vger.linux-toolchains,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel,org.kernel.vger.live-patching |
|---|---|
| Message-ID | <20250214193400.j4hp45jlufihv5eh@jpoimboe> |
On Fri, Feb 14, 2025 at 09:51:41AM -0800, Song Liu wrote: > > Ignorant arm64 question: is the module's text further away from slab > > memory than vmlinux text, thus requiring a different instruction (or > > GOT/TOC) to access memory further away in the address space? > > It appears to me the module text is very close to vmlinux text: > > vmlinux: ffff8000800b4b68 T copy_process > module: ffff80007b0f06d0 t copy_process [livepatch_always_inline_special_static] Hm... the only other thing I can think of is that the klp relas might be wrong somewhere. If you share patched.o and .ko files from the same build I could take a look. BTW, I realized the wrong function size shown in the WARNING stack trace is probably just due to a kallsyms quirk. It calculates a symbol's size by subtracting its start address from the next symbol's start address. It doesn't actually use the ELF symbol size. So the next symbol after copy_process() in the loaded module's address space might just be far away. That kallsyms issue has caused other headaches. It really needs to be fixed to use the actual ELF symbol size. -- Josh