Re: network oops

From: Andi Kleen (ak@suse.de)
Date: Fri Jun 02 2000 - 06:57:19 EST


On Wed, May 31, 2000 at 03:35:30PM +0200, Manfred Spraul wrote:
> I'm stuck with a network oops, perhaps someone could help me:
>
> the actual oops happens in sock_def_writable because the magic value of
> skb->sk->wait is 0.
>
> I think I tracked it back to sock_release():
> The network driver is drivers/net/hamradio/scc.c, the protocol is ax25,
> the application is ulistd.
>
> Only "good" [skb->sk->wait->__magic correct] packets are added to
> scc->tx_queue [line 1732, scc_net_tx], but later a bad packet is
> dequeued in scc_txint [line 401].
>
> I assume the socket was closed, and thus the inode was cleared.
> [clean_inode, fs/inode.c]
>
> My questions are:
> * any other ideas what could have caused the oops? The oops first
> appeared in 2.3.99-pre3, pre2 was ok. 2.4.0test1-ac4 oopsed.
> * what should happen to pending packets if their socket is closed?

A socket cannot close when there are still packets owned by it.
2.2 uses a timer to simply wait, 2.4 uses callbacks from kfree_skb
(sk->destruct)

I guess the new socket destroy mechanism does not work correctly
with AX.25. In theory it should still use the timer then.

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



This archive was generated by hypermail 2b29 : Wed Jun 07 2000 - 21:00:32 EST