netdev
[Top] [All Lists]

Re: 2.6.9-rc1-mm5: TCP oopses

To: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Subject: Re: 2.6.9-rc1-mm5: TCP oopses
From: "David S. Miller" <davem@xxxxxxxxxxxxx>
Date: Mon, 13 Sep 2004 21:53:35 -0700
Cc: jmorris@xxxxxxxxxx, akpm@xxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx
In-reply-to: <E1C745E-00024r-00@xxxxxxxxxxxxxxxxxxxxxxxx>
References: <20040913190858.12544431.davem@xxxxxxxxxxxxx> <E1C745E-00024r-00@xxxxxxxxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
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.

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