netdev
[Top] [All Lists]

Re: possible bug in tcp_input.c

To: Andi Kleen <ak@xxxxxxx>
Subject: Re: possible bug in tcp_input.c
From: Tomas Szepe <szepe@xxxxxxxxxxxxxxx>
Date: Tue, 18 Nov 2003 14:58:05 +0100
Cc: linux-kernel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx, grof@xxxxxxxxx, davem@xxxxxxxxxx
In-reply-to: <p73ptgma58b.fsf@oldwotan.suse.de>
References: <20031024162959.GB11154@louise.pinerecords.com.suse.lists.linux.kernel> <p73ptgma58b.fsf@oldwotan.suse.de>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.4.1i
On Oct-24 2003, Fri, 19:57 +0200
Andi Kleen <ak@xxxxxxx> wrote:

> > /* tcp_input.c, line 1138 */
> > static inline int tcp_head_timedout(struct sock *sk, struct tcp_opt *tp)
> > {
> >   return tp->packets_out && tcp_skb_timedout(tp, 
> > skb_peek(&sk->write_queue));
> > }
> 
> tp->packets_out > 0 implies that there is at least one packet in the write 
> queue (it counts the number of unacked packets in flight, which are kept
> in the write queue). When that's not the case something else is wrong.

Yes, that's exactly what davem said.  The corruption is happening somewhere
in netsched/imq code that's not even part of the official kernel tree (and
I'm told there's nobody to maintain the patch at present).

Thanks,
-- 
Tomas Szepe <szepe@xxxxxxxxxxxxxxx>

P.S.  I can post the patchset we've been using on the crashing machines
in case someone's interested, it's reasonably short:

      9101 Jul  6 11:48 bridge-nf-0.0.7-against-2.4.22pre3.diff.gz
      4123 Jul  6 11:14 imq-2.4.22pre3-1.diff.gz
      1883 Jul  6 12:01 imq-nf-20030625-2.4.22pre3.diff.gz

<Prev in Thread] Current Thread [Next in Thread>