Re: kerneld/request-route interaction bug with kernel patch

really kuznet@ms2.inr.ac.ru (inr-linux-kernel@ms2.inr.ac.ru)
2 Jul 1996 14:24:25 +0400


Eric W. Biederman (ebiederm@cse.unl.EDU) wrote:
: "A.N.Kuznetsov" <kuznet@ms2.inr.ac.ru> writes:
: [snip]
: > The second problem is that kerneld_send is intrinsically not
: > reenterant, so that it is not allowed to be called from interrupt.
: > The probability of crash is pretty small, but not zero...

: This might explain the other day when I was running dosemu typed a:
: and got the standard device not ready abort/retry/fail message.
: Being impatient I typed rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr.
: When I examined the loaded modules there were 2 coppies of floppy.o
: loaded.
: after I rmmoded floppy.o twice and waited a while I could load my
: floppy driver and things worked o.k. again.

: At the very least there is a race where kerneld doesn't check what it
: has loaded before it tries to load something.

It is the greatest bug (set of bugs) of current modules, that has nothing
to do with interrupts and even with kerneld. It exists since
the first version of modules and can be easily triggered by plain
insmod.

I promised to eat my hat for breakfast, if Bjorn will manage to repair it
without complete rewrote of modules :-) Seems, I won, but I am not glad
to this win. It is very bad, that this broken code lives in "stable" 2.0,
it does not credit to Linux.

I am tired to scream about it, and believe that the honest solution
would be to move all module staff to EXPERIMENTAL status for 2.0.

Bjorn, do not shoot, please :-)

Alexey Kuznetsov.