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

Andi Kleen (ak@muc.de)
01 Mar 1998 16:27:21 +0100


"A.N.Kuznetsov" <kuznet@ms2.inr.ac.ru> writes:
>
> Actually, I must say one thing, which apparently remained unnoticed
> It was me who moved sock->wait to private inode area in early 2.1.
> In 2.0 it was located in inode->wait (which normally used for inode locking).
> The reason for this change was the following: if sk->sleep points
> to inode->wait, VFS maintains this wait queue until inode really destroyed.
> It results in random crashes, but they was too rare to debug them :-)
> So that I moved this pointer to private area and crashes became to occur
> every day :-) :-) It allowed to catch all invalid sock->release in IPv4
> and IPv6 (they did not sk->dead=1 sometimes or even made
> wake_up_interruptible(sk->sleep) directly without checking sk->dead).
>
> Apparently, another protocols should be cleaned too.
> Directories ipv4,ipv6,unix,packet and netlink are clean, but
> I do not know anything about another ones.

Do you remember where you fixed ipv4 and unix? It might be interesting
to backport the fixes to a stable 2.0.

-Andi

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