[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87a6vdmedy.fsf@collabora.com>
Date: Thu, 19 Nov 2020 12:43:05 -0500
From: Gabriel Krisman Bertazi <krisman@...labora.com>
To: luto@...nel.org, Rich Felker <dalias@...c.org>
Cc: tglx@...utronix.de, keescook@...omium.org,
christian.brauner@...ntu.com, peterz@...radead.org,
willy@...radead.org, shuah@...nel.org,
linux-kernel@...r.kernel.org, linux-api@...r.kernel.org,
linux-kselftest@...r.kernel.org, x86@...nel.org, gofmanp@...il.com,
kernel@...labora.com
Subject: Re: [PATCH v7 3/7] kernel: Implement selective syscall userspace
redirection
Gabriel Krisman Bertazi <krisman@...labora.com> writes:
> Introduce a mechanism to quickly disable/enable syscall handling for a
> specific process and redirect to userspace via SIGSYS. This is useful
> for processes with parts that require syscall redirection and parts that
> don't, but who need to perform this boundary crossing really fast,
> without paying the cost of a system call to reconfigure syscall handling
> on each boundary transition. This is particularly important for Windows
> games running over Wine.
I raised a discussion about this on libc-alpha, as requested by Florian.
At the moment, there was some back and forth on why the use-case is not
done by seccomp, but a more interesting point about user_notif was
raised by Rich Felker (cc'ed).
SIGSYS, as a signal handler, is limited in what can be done inside it.
Rich suggested the user_notif design is a better solution. I understand
that from a Wine perspective, SIGSYS suffices for their work, but would
it make sense to extend SUD interface to support a user_notif-like
interface? Would this be acceptable as future work to be added when/if
needed, or should we design it from the start?
The existing interface could be extended with a flags field as part of
the opcode passed in argument 2, which is currently reserved, and then
return a FD, just like seccomp(2) does. So it is not like the current
patches couldn't be extended in the future if needed, unless I'm
mistaken.
--
Gabriel Krisman Bertazi
Powered by blists - more mailing lists