Re: [Real fix] Re: Kernel panic: can't push onto full stack

Alexander Viro (viro@math.psu.edu)
Mon, 1 Mar 1999 08:23:16 -0500 (EST)


On Mon, 1 Mar 1999 kuznet@ms2.inr.ac.ru wrote:

> Hello!
>
> > Methink I found the sucker - we have one place where the unix_socket
> > is freed without kernel_lock hold. It is in unix_destroy_timer().
>
> Stop, stop, stop! To the time, when socket is destroyed from timer,
> it is dead. It is detached from hash tables, its queues are already destroyed
> etc. It is hold only to tell peer, that endpoint is dead and to die in piece.

Sigh... AFAICS it's the only place where we have async *whatever* in
net/unix/*.c. Can anything remove skb from the queue without kernel_lock
held? Maybe I'm missing the path calling unix_gc() without kernel_lock,
but I've rechecked it and it seems to be OK.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/