Re: [PATCH 0/8] unwind, arm64: add sframe unwinder for kernel

From: Josh Poimboeuf
Date: Wed Feb 12 2025 - 21:45:16 EST


On Wed, Feb 12, 2025 at 06:36:04PM -0800, Song Liu wrote:
> > > [ 81.261748] copy_process+0xfdc/0xfd58 [livepatch_special_static]
> >
> > Does that copy_process+0xfdc/0xfd58 resolve to this line in
> > copy_process()?
> >
> > refcount_inc(&current->signal->sigcnt);
> >
> > Maybe the klp rela reference to 'current' is bogus, or resolving to the
> > wrong address somehow?
>
> It resolves the following line.
>
> p->signal->tty = tty_kref_get(current->signal->tty);
>
> I am not quite sure how 'current' should be resolved.

Hm, on arm64 it looks like the value of 'current' is stored in the
SP_EL0 register. So I guess that shouldn't need any relocations.

> The size of copy_process (0xfd58) is wrong. It is only about
> 5.5kB in size. Also, the copy_process function in the .ko file
> looks very broken. I will try a few more things.

Ah ok, sounds like it's pretty borked.

--
Josh