Re: network oops

From: Andi Kleen (duvcml@host-96-26.tele2.pl)
Date: Fri Jun 02 2000 - 14:57:19 EEST

  • Next message: Chuck Gelm: "Re: New install of linux"

    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



    This archive was generated by hypermail 2b29 : Fri Jun 02 2000 - 15:09:16 EEST