On Tue, 8 Jul 2025 15:58:56 -0400 Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> wrote: > > @@ -111,6 +128,8 @@ static int unwind_user_start(struct unwind_user_state *state) > > > > if (IS_ENABLED(CONFIG_HAVE_UNWIND_USER_COMPAT_FP) && in_compat_mode(regs)) > > state->type = UNWIND_USER_TYPE_COMPAT_FP; > > + else if (current_has_sframe()) > > + state->type = UNWIND_USER_TYPE_SFRAME; > > I think you'll want to update the state->type during the > traversal (in next()), because depending on whether > sframe is available for a given memory area of code > or not, the next() function can use either frame pointers > or sframe during the same traversal. It would be good > to know which is used after each specific call to next().