Re: linux-2.5.7

Alexander Viro (viro@math.psu.edu)
Sat, 30 Mar 2002 21:04:26 -0500 (EST)


On Sun, 31 Mar 2002, Keith Owens wrote:

> On Sun, 31 Mar 2002 09:48:38 +1000 (EST),
> Neil Brown <neilb@cse.unsw.edu.au> wrote:
> >I cannot see the weak aliases being a real fix either.
> >If you compile with NFSD as a module, and with CONFIG_KMOD, then the
> >nfssvc_ctl systemcall is suppose to auto-load nfsd.o. How can this be
> >achieved with weak aliases?
>
> System calls cannot be in modules. Linus forbids it (that way lies
> "extend and embrace") and at least two architectures (ia64, ppc64)
> break when a syscall is in a module.

Yup. The logics being:

if we have neither CONFIG_NFSD nor CONFIG_NFSD_MODULE
sys_nfsservctl() is alias for sys_ni_syscall()
else
sys_nfsservctl() is defined in fs/nfsct.c and does do_kern_mount()
with type "nfsd", which triggers autoload if nfsd is modular. Whether
nfsd is modular or comipled-in, syscall itself is in kernel (and
is nothing but a wrapper for write()/read()).

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