Messages in this thread | | | Date | Sun, 26 Jan 2014 20:48:08 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [RFC] de-asmify the x86-64 system call slowpath |
| |
On 01/26/2014 08:32 PM, Linus Torvalds wrote: > On Sun, Jan 26, 2014 at 4:22 PM, Al Viro <viro@zeniv.linux.org.uk> wrote: >> >> Umm... Can't uprobe_notify_resume() modify regs as well? > > Probably. > > .. and on the other hand, we should actually be able to use 'sysret' > for signal handling on x86-64, because while sysret destroys %rcx and > doesn't allow for returning to odd modes, for calling a signal handler > I don't think we really care.. >
Yes, it is the fourth argument register, but we only have three arguments to a signal handler. I had to think about that one.
>> While we >> are at it, when we start using the same thing on 32bit kernels, we'll >> need to watch out for execve() - the reason why start_thread() sets >> TIF_NOTIFY_RESUME is to force us away from sysexit path. IIRC, vm86 >> is another thing to watch out for (same reasons). > > Yes, the 32-bit code I didn't want to touch, partly because I no > longer have a test-case. And it does end up having some more > interesting cases.
That is one way to put it. However, this code is incredibly ugly and getting it cleaned up would really, really help, of course.
-hpa
| |