[OpenAFS-devel] Fully Functional Client on Linux 2.6

Jeffrey Hutzelman jhutz@cmu.edu
Sun, 04 Jul 2004 19:50:08 -0400


On Monday, July 05, 2004 01:21:24 +0200 Alexander Bostr=F6m <abo@kth.se>=20
wrote:

> m=E5n 2004-07-05 klockan 00.41 skrev Jeffrey Hutzelman:
>> On Sunday, July 04, 2004 23:44:07 +0200 Tomas Olsson
>> <tol@stacken.kth.se>  wrote:
>>
>> > Besides, I'm not sure that patching the syscall table is all that
>> > beautiful a practice.
>>
>> No, of course not.  There should be a registration mechansim.

> A generic registration mechanism was proposed and rejected in this
> thread: http://seclists.org/lists/linux-kernel/2002/Oct/1158.html.

Yup.  The basic argument is that directly replacing an entry in=20
sys_call_table is not actually safe on some architectures.  A reasonable=20
alternative (a secondary dispatch table used by sys_ni_syscall()) was=20
proposed and rejected.


> Did anyone even propose a patch that added a hook for the AFS syscall
> specifically?

Yes.  I don't recall whether this was discussed on lkml or done entirely=20
out-of-band.  It was proposed.  It never happened.

> The kernel developers decided that modules shouldn't register syscalls,
> they should all be in the kernel at compile time.

Because, of course, the kernel developers have already thought of all=20
functionality that anyone might ever need.

> AFS didn't actually
> need the syscall

... except to set initial CM configuration, start our various kernel=20
threads, manage PAGs and tokens, and perform control operations on files in =

AFS.  If you don't care about doing any of those things, then sure, we=20
don't need the syscall.