On Wed, 29 Apr 2026 14:42:52 -0400
Mathieu Desnoyers <[email protected]> wrote:

> On 2026-04-29 11:43, Steven Rostedt wrote:
> [...]
> 
> AFAIU this is a functional iteration of my prior RFC here:
> 
> https://lore.kernel.org/lkml/[email protected]/
> 
> perhaps it would be valuable to refer to that thread ?

Thanks, I actually decided to start this from scratch as I took a slightly
different approach than yours. But you're right, I should have mentioned it
anyway.

> 
> >   }
> > +
> > +/**
> > + * sys_stacktrace_setup - register an address for user space stacktrace 
> > walking.
> > + * @op: Type of operation to perform
> > + * @addr_start: The virtual address of the stacktrace information
> > + * @addr_length: The length of the stacktrace information
> > + * @text_start: The virtual address of the text that @addr_start represents
> > + * @text_length: The length of teh text  
> 
> the
> 
> also, perhaps add @flags just in case ? This allows changing the
> behavior without having to insert entirely new set of ops.

I thought about it and decided it was somewhat redundant to the ops. After
working on the futex code, I thought following that API was a better
approach.

> 
> > + *
> > + * This system call is used by dynamic library utilities to inform the 
> > kernel  
> 
> Out of curiosity: what would happen if the application chooses to invoke
> this system call to register sframe for the main executable ? Should it be
> allowed ?

I haven't tried, and should look at the code. Ideally, no two sframes
sections should cover the same code. I think it should error out if it does.

If the main executable doesn't have a sframe section, I don't see why this
shouldn't be allowed to add one.

> 
> > + * of meta data that it loaded that can be used by the kernel to know how
> > + * to stack walk the given text locations.
> > + *
> > + * Currently only sframes are supported, but in the future, this may be 
> > used
> > + * to tell the kernel about JIT code which will most likely have a 
> > different
> > + * format.
> > + *
> > + * The type command may be extended and parameters may be used for other
> > + * purposes.  
> 
> "type" or "op" ?

Bah, I originally had called it "type" and then renamed it to "op" (to
be consistent with the futex commands). I missed updating this. Thanks for
catching that.

-- Steve

Reply via email to