Re: execve replacement.

From: Brian Gerst (bgerst@didntduck.org)
Date: Wed Oct 04 2000 - 09:08:13 EST


John Levon wrote:
>
> On Wed, 4 Oct 2000, Brian Gerst wrote:
>
> > "it doesn't work well" is a bit vague...
> >
> > I am guessing that you are getting an unresolved symbol. Modifying the
> > system call table is not and probably never will be available for
> > modules. The syscall table is very architecture dependant, and is not
> > exported to modules.
>
> This isn't true, you can replace syscalls fine in modules on x86. I can't
> comment on other architectures. It's rarely a good idea though of course.
>
> You might want to check out the "overloader" module at
> http://bdolez.free.fr/
>
> john
>
> p.s. abel, your module exit has a horrendous race with module unload, and
> processes sleeping in the system call ...

Even your overloader has a small module unload race. The only 100%
race-free way is to put module usage counting into the core kernel, like
the VFS changes with ->open that were done in 2.3.x. This would mean
added overhead for all syscalls, so many people would oppose this.

--

Brian Gerst - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Oct 07 2000 - 21:00:14 EST