tech-userlevel 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 Wed, Oct 27, 2021 at 20:59:12 -0700, Jason Thorpe wrote:

> > On Oct 27, 2021, at 4:01 PM, Jason Thorpe <thorpej%me.com@localhost> wrote:
> > 
> > 
> >> On Oct 27, 2021, at 3:44 PM, Valery Ushakov <uwe%stderr.spb.ru@localhost> wrote:
> >> 
> >> On Wed, Oct 27, 2021 at 07:50:55 -0700, Jason Thorpe wrote:
> >> 
> >> I was wondering if it might be easier to not put the onus onto the
> >> caller and instead have a function that returns the interrupted
> >> ucontext (or NULL, if the pc is not in a trampoline).
> >> 
> >> ucontext_t *__unwind_sigtramp(return_pc, return_sp)
> > 
> > That would certainly be a nicer API.
> 
> Thought about it a little more.
> 
> To make this really work, we'd definitely have to version
> sigaction() so that it fully de-supported sigcontext handlers.
> Otherwise, it's a toss-up whether you have a sigcontext or a
> ucontext on the stack.

It is ucontext for the siginfo trampoline and sigcontext for the older
one, isn't it?


> I also see some value in the basic check (which you need to have to
> __sigtramp_unwind() anyway?).

You need internally, obviously, but the only useful thing you can do
with it is get the interrupted context that the trampoline would
restore.  Or do I miss something here (which is entirely possible, as
I'm writing all these remarks from fading memories of implementing the
trampolines for sh3).

-uwe


Home | Main Index | Thread Index | Old Index