Messages in this thread | | | Date | Mon, 27 Jan 2014 14:43:14 -0800 | Subject | Re: [RFC] de-asmify the x86-64 system call slowpath | From | Linus Torvalds <> |
| |
On Mon, Jan 27, 2014 at 2:32 PM, Al Viro <viro@zeniv.linux.org.uk> wrote: > > do_signal() is also a place where arbitrary changes to regs might've > been done by tracer, so regs->cs might need to be checked in the same > place where we validate regs->rip ;-/
Fair enough. But it would still be really easy, and make the common case signal delivery a bit faster.
Now, sadly, most signal delivery is then followed by sigreturn (the exceptions being dying or doing a longjmp), so we'd still get the iretq then. But it would cut the iretq's related to signals in half.
We *could* try to do sigreturn with sysret and a small trampoline too, of course. But I'm not sure how far I'd want to take it.
Linus
| |