Re: [RFC] de-asmify the x86-64 system call slowpath

From: Al Viro
Date: Mon Jan 27 2014 - 20:20:00 EST


On Mon, Jan 27, 2014 at 06:39:31PM +0100, Oleg Nesterov wrote:
> On 01/27, Al Viro wrote:
> >
> > BTW, there's an additional pile of obfuscation:
> > /* work to do on interrupt/exception return */
> > #define _TIF_WORK_MASK \
> > (0x0000FFFF & \
> > ~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT| \
> > _TIF_SINGLESTEP|_TIF_SECCOMP|_TIF_SYSCALL_EMU))
> >
> > /* work to do on any return to user space */
> > #define _TIF_ALLWORK_MASK \
> > ((0x0000FFFF & ~_TIF_SECCOMP) | _TIF_SYSCALL_TRACEPOINT | \
> > _TIF_NOHZ)
>
> Heh, yes ;)
>
> > Why is _TIF_UPROBE *not* a part
> > of _TIF_DO_NOTIFY_MASK, for example?
>
> Yes, please see another email. That is why uprobe_deny_signal()
> sets TIF_NOTIFY_RESUME along with TIF_UPROBE.

*grumble* Can it end up modifying *regs? From very cursory reading of
kernel/events/uprobe.c it seems to do so, so we probably want to leave
via iretq if that has hit, right?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/