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 | <20250207175252.wtsfjqnm52jkevog@jpoimboe> |
On Fri, Feb 07, 2025 at 12:16:29PM +0000, Puranjay Mohan wrote: > Weinan Liu <[email protected]> writes: > > Thank you for reporting this issue. > > I just found out that Josh also intentionally uses '>' instead of '>=' for the same reason > > https://lore.kernel.org/lkml/20250122225257.h64ftfnorofe7cb4@jpoimboe/T/#m6d70a20ed9f5b3bbe5b24b24b8c5dcc603a79101 > > > > QQ, do we need to care the stacktrace after '__noreturn' function? > > Yes, I think we should, but others people could add more to this. FYI, here's how ORC handles this: /* * Find the orc_entry associated with the text address. * * For a call frame (as opposed to a signal frame), state->ip points to * the instruction after the call. That instruction's stack layout * could be different from the call instruction's layout, for example * if the call was to a noreturn function. So get the ORC data for the * call instruction itself. */ orc = orc_find(state->signal ? state->ip : state->ip - 1); and state->signal is only set for exceptions/interrupts (including preemption and page faults) and newly forked tasks which haven't run yet. -- Josh