Re: [PATCH v14 13/19] unwind_user: Enable archs that pass RA in a register

Steven Rostedt <[email protected]> Mon, 18 May 2026 12:31:12 -0400
Newsgroups dev.linux.lists.sashiko,org.kernel.vger.bpf
Message-ID <[email protected]>
On Mon, 18 May 2026 18:16:52 +0200
Jens Remus <[email protected]> wrote:

> >>> +#ifndef unwind_user_get_ra_reg
> >>> +static inline int unwind_user_get_ra_reg(unsigned long *val)
> >>> +{
> >>> +	WARN_ON_ONCE(1);  
> > 
> > Replace with the following to resolve below issue:
> > 
> > 	dbg_once("unwind_user_get_ra_reg() not implemented\n");  
> 
> Omit or replace by the following?
> 
> 	pr_debug_once("%s (%d): unwind_user_get_ra_reg() not implemented\n",
> 		      current->comm, current->pid);
> 
> This did not work with dbg_once() defined in kernel/unwind/user.c as
> follows, as linux/unwind_deferred.h includes linux/unwind_user.h and
> therefore gets included into other modules that do not define dbg_once()
> (e.g. via linux/irq-entry-common.h including linux/unwind_deferred.h).
> 
> Steven, Should I omit the dbg_once() or could I replace by the above
> unguarded pr_debug_once()?

Question, should the above ever get hit? That is, should all architectures
that support sframes have unwind_user_get_ra_reg() defined?

How can this be triggered? Does it require an architecture to implement
only partial sframe to trigger?

If the trigger is due to an architecture not supporting sframe correctly,
then a WARN_ON() is appropriate.

But if this is not implemented by the architecture for normal reasons, why
bother printing anything?

-- Steve