[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250214193400.j4hp45jlufihv5eh@jpoimboe>
Date: Fri, 14 Feb 2025 11:34:00 -0800
From: Josh Poimboeuf <jpoimboe@...nel.org>
To: Song Liu <song@...nel.org>
Cc: Puranjay Mohan <puranjay@...nel.org>, Weinan Liu <wnliu@...gle.com>,
Steven Rostedt <rostedt@...dmis.org>,
Indu Bhagat <indu.bhagat@...cle.com>,
Peter Zijlstra <peterz@...radead.org>,
Mark Rutland <mark.rutland@....com>, roman.gushchin@...ux.dev,
Will Deacon <will@...nel.org>, Ian Rogers <irogers@...gle.com>,
linux-toolchains@...r.kernel.org, linux-kernel@...r.kernel.org,
live-patching@...r.kernel.org, joe.lawrence@...hat.com,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH 0/8] unwind, arm64: add sframe unwinder for kernel
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
Powered by blists - more mailing lists