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

A.N.Kuznetsov (kuznet@ms2.inr.ac.ru)
Mon, 1 Jul 1996 21:40:31 +0400 (MSD)


Hello!

> If this is a problem with my patch isn't it a problem for the current
> implementation as well? 2.0.0 still calls kerneld_route.
>
> Or is it a problem with *where* kerneld is being called?

It is problem of current implementation, your patch just
revealed that kerneld_route sleeps. ip_rt_route is called
from many places, and it was assumed that it does not sleep.
It is my fault, I did not notice it (fib_lookup did not wait for
result of kerneld_route, and I imagined that it calls kerneld_send
with KERNELD_NOWAIT not looking into kerneld.h)

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...

Alexey Kuznetsov.