Quoting Samuel Thibault (2013-09-09 19:40:23) > Ludovic Courtès, le Mon 09 Sep 2013 18:48:03 +0200, a écrit : > > Samuel Thibault <samuel.thiba...@gnu.org> skribis: > > > Ludovic Courtès, le Sat 07 Sep 2013 22:04:06 +0200, a écrit : > > >> However, wouldn’t it be preferable to fix it by interposing on > > >> ‘task_create’ calls, à la clans & chiefs? (IIUC, this can be done with > > >> by setting the TASK_KERNEL_PORT of a task.) > > > > > > Apparently task_create is a kernel trap. > > > > Isn’t rpctrace able to interpose on it? > > I don't think there is any way to interpose a trap. > > It probably happens that libc nicely uses the RPC, but nothing prevents > a process from raising a trap.
As I understand [0] one can interpose all Mach system calls and I vaguely recall having read somewhere that one of Mach design goals is to make any kernel interface/concept interposable by userspace. Then again, I do not think it is meant as a mechanism to change the semantic of one system call for all processes and I do not know the performance implications of this mechanism. 0: http://www.gnu.org/software/hurd/gnumach-doc/Syscall-Emulation.html Justus