Re: 2.6.9-rc1-mm5: TCP oopses

From: David S. Miller
Date: Mon Sep 13 2004 - 23:57:20 EST


On Tue, 14 Sep 2004 13:34:20 +1000
Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote:

> > @@ -968,11 +972,17 @@
> > return -EAGAIN;
> >
> > if (skb->len > cur_mss) {
> > + int old_factor = TCP_SKB_CB(skb)->tso_factor;
> > + int new_factor;
> > +
> > if (tcp_fragment(sk, skb, cur_mss))
> > return -ENOMEM; /* We'll try again later. */
> >
> > /* New SKB created, account for it. */
> > - tcp_inc_pcount(&tp->packets_out, skb);
> > + new_factor = TCP_SKB_CB(skb)->tso_factor;
> > + tcp_dec_pcount_explicit(&tp->packets_out,
> > + new_factor - old_factor);
>
> That should be tcp_inc_pcount_explicit.

Better fix is to transpose the factors in the subtraction.
That's what I was trying to do here.

Good eyes Herbert.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/