Subject: Re: 2.6.9 failed assertion in tcp_timer.c

From: "David S. Miller" <[email-masked]>
Date: Mon, 25 Oct 2004 21:09:46 -0700

On Sat, 23 Oct 2004 09:24:03 +1000
Herbert Xu <[email-masked]> wrote:

> Actually, I think we've caught your crash now.  If that code path
> is triggering at all, then it'll trigger with TSO packets too.  If
> we get a truly partial ack on a TSO packet, then tcp_tso_acked will
> not trim it off.  So we will fall through to this last-ditch trim
> call, which doesn't update packets_out.
> 
> There are two solutions to this problem.  I've taken the simpler
> approach for now.  We simply trim off the partial bits in tcp_tso_acked
> and live with the fact that the packet counters may differ from
> what's on the netwrok by one.
> 
> Signed-off-by: Herbert Xu <[email-masked]>
> 
> Later on we can "fix" this by remembering where the original TSO
> packet started from, perhaps in skb->h or somewhere.  Dave, is this
> worth it?

I'm going to apply this patch for now.

I think at this point we can generalize TSO processing a bit
better in this code now.