[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPhsuW5TeMXi_Mn8+jR9Qoa=rAWasMo7M3Hs=im6NT6=+CrxqA@mail.gmail.com>
Date: Wed, 12 Feb 2025 18:36:04 -0800
From: Song Liu <song@...nel.org>
To: Josh Poimboeuf <jpoimboe@...nel.org>
Cc: 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,
Puranjay Mohan <puranjay@...nel.org>
Subject: Re: [PATCH 0/8] unwind, arm64: add sframe unwinder for kernel
On Wed, Feb 12, 2025 at 3:49 PM Josh Poimboeuf <jpoimboe@...nel.org> wrote:
>
> On Wed, Feb 12, 2025 at 03:32:40PM -0800, Song Liu wrote:
> > [ 81.250437] ------------[ cut here ]------------
> > [ 81.250818] refcount_t: saturated; leaking memory.
> > [ 81.251201] WARNING: CPU: 0 PID: 95 at lib/refcount.c:22
> > refcount_warn_saturate+0x6c/0x140
> > [ 81.251841] Modules linked in: livepatch_special_static(OEK)
> > [ 81.252277] CPU: 0 UID: 0 PID: 95 Comm: bash Tainted: G
> > OE K 6.13.2-00321-g52d2813b4b07 #49
> > [ 81.253003] Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE, [K]=LIVEPATCH
> > [ 81.253503] Hardware name: linux,dummy-virt (DT)
> > [ 81.253856] pstate: 634000c5 (nZCv daIF +PAN -UAO +TCO +DIT -SSBS BTYPE=--)
> > [ 81.254383] pc : refcount_warn_saturate+0x6c/0x140
> > [ 81.254748] lr : refcount_warn_saturate+0x6c/0x140
> > [ 81.255114] sp : ffff800085a6fc00
> > [ 81.255371] x29: ffff800085a6fc00 x28: 0000000001200000 x27: ffff0000c2966180
> > [ 81.255918] x26: 0000000000000000 x25: ffff8000829c0000 x24: ffff0000c2e9b608
> > [ 81.256462] x23: ffff800083351000 x22: ffff0000c2e9af80 x21: ffff0000c062e140
> > [ 81.257006] x20: ffff0000c1c10c00 x19: ffff800085a6fd80 x18: ffffffffffffffff
> > [ 81.257544] x17: 0000000000000001 x16: ffffffffffffffff x15: 0000000000000006
> > [ 81.258083] x14: 0000000000000000 x13: 2e79726f6d656d20 x12: 676e696b61656c20
> > [ 81.258625] x11: ffff8000829f7d70 x10: 0000000000000147 x9 : ffff8000801546b4
> > [ 81.259165] x8 : 00000000fffeffff x7 : 00000000ffff0000 x6 : ffff800082f77d70
> > [ 81.259709] x5 : 80000000ffff0000 x4 : 0000000000000000 x3 : 0000000000000001
> > [ 81.260257] x2 : ffff8000829f7a88 x1 : ffff8000829f7a88 x0 : 0000000000000026
> > [ 81.260824] Call trace:
> > [ 81.261015] refcount_warn_saturate+0x6c/0x140 (P)
> > [ 81.261387] __refcount_add.constprop.0+0x60/0x70
> > [ 81.261748] copy_process+0xfdc/0xfd58 [livepatch_special_static]
>
> Does that copy_process+0xfdc/0xfd58 resolve to this line in
> copy_process()?
>
> refcount_inc(¤t->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.
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.
Thanks,
Song
Powered by blists - more mailing lists