Re: kmod fix

Jacques Gelinas (jack@solucorp.qc.ca)
Fri, 13 Mar 1998 09:33:46 -0500 (EST)


On Fri, 13 Mar 1998, Marcin Dalecki wrote:

> Kirk Petersen wrote:
> >
> > > > Now, anyone know how correct the above analysis is? I didn't
> > > > have a chance to look at the "offending" modules much (but will certainly
> > > > be doing that tonight).
> > >
> > > With kerneld, we had the ability to do ksystem() from a module. Have we
> > > lost this ability ?
> >
> > Well, ksystem() passed a message to kerneld, so yes, we lost this
> > ability. Now, could someone tell me what ksystem() did? I did a search
> > through 2.1.89 and nothing used it. I read through the kerneld source
> > (because all ksystem() did was pass a message to kerneld) and it didn't
> > help much.
> >
>
> Yes what it did was nearly the same what the libc system() function
> does.
> Therefore the name. The only difference was: it did it out of the
> kernel!
> Please think just a second about the possible races circularities and so
> on an so on ... No wonder anybody used it in the kernel. Tought some
> times ago there was one exception: smbfs. Tought accidentally I know
> Volker personally, Some short discussion about it between us revealved
> that this was really a sign of a bad design in smbfs.
>
> BTW. there where many other things which kerneld was supposed to do,
> which *nobody* was st... to use, like: request_route, request_blaker and
> therelike.

request-route did work with some flaw for many people. This project for
forgotten when some kernel guru told that "anyway diald is working
perfectly", so need for another solution. So this request-route (which
could have been implemented differently in the kernel) was not studied
further. This was in 1994. In 1996 when I tried to use diald, it failed at
the first request! I investigate the problem only to find that it was a
known and documented limitation of diald!!! So it was not working at all.
This was fixed only in kernel 2.0.31 with the ip_dynaddr patch.

Today, with the new firewalling chains, the concept of request-route may
be implemented in userland. I suspect that diald might be reworked to use
that maybe instead of a slip device. Not sure.

As for the races circularities, this may be a problem, but any other
design will trigger the same problem. Basically, you can't go further ina
process until something is provided. If the "provider" of this thing needs
your service prior to provide the "thing", then it can't deliver. the fact
that this situation occur outside or inside the kernel is irrelevant....

--------------------------------------------------------
Jacques Gelinas (jacques@solucorp.qc.ca)
Linuxconf: The ultimate administration system for Linux.
see http://www.solucorp.qc.ca/linuxconf
new developments: remote GUI admin, multiple machines admin, wu-ftpd

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu