tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Request for implementation of KERN_PROC_SIGTRAMP sysctl




> On Oct 18, 2021, at 8:41 AM, John Marino (NetBSD) <netbsd%marino.st@localhost> wrote:
> 
> For GCC, we've got the return address (context->ra in the unwind
> programs in the original post).   The "problem" is that we want to
> know if that address falls on a signal trampoline frame.  If NO,
> return "end of stack", otherwise unwind the frame.

Seems like a non-portable libc function that could check among the various candidates that libc knows about would not be terribly difficult.

> A sysctl that returns an array of address pairs for all signal
> trampolines in the process is what I'm requesting.

Would a function like (hypothetically-named) "bool __in_signal_trampoline(uintptr_t addr);" provided by libc be workable for your use case?

> If there's another way to determine if an address falls within a
> signal trampoline, I'd like to see actual code to see if I can adapt
> it.
> Of course, the kernel team could just deny the request, but I won't be
> able to fix the regression caused when the per-signal trampolines were
> introduced.
> Thanks,
> John

-- thorpej



Home | Main Index | Thread Index | Old Index