Re: Fix for thread+network crashes in 2.0/2.1?

Henner Eisen (eis@baty.hanse.de)
Mon, 2 Mar 1998 03:51:09 +0100


>>>>> A N Kuznetsov <kuznet@ms2.inr.ac.ru> writes:

> Before "struct socket" is destoyed all the references from
> transport records (struct sock) are invalidated. If x25 does
> not make it, it is bug in x25.

But if a task had sleeped on *sk->sleep before, than socket is destroyd and then it is waked up, is there a second reference now?

> Just set sk->dead=1, and that's all. Is it simple?

This seems to be done in x.25. But still crashes -:( last checked 2.1.89-5 ).
Aparrently, the intetention was: if sk->dead is 1, then wake_up's by means of
the *sk->sleep == sock->wait wait are supressed. But what happens if the
task is awoken up by means of another wait queue (likely to occur in select,
as this is made for waiting waiting on multiple different fd's).

Henner

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