Subject: Re: kernel BUG at include/net/tcp.h:739

From: David Miller <[email-masked]>
Date: Thu, 03 May 2007 03:31:13 -0700 (PDT)

From: "Ilpo_Järvinen" <[email-masked]>
Date: Thu, 3 May 2007 09:51:36 +0300 (EEST)

> [PATCH] [TCP]: Use S+L catcher only with SACK for now
> 
> TCP has a transitional state when SACK is not in use during
> which this invariant is temporarily broken. Without SACK,
> tcp_clean_rtx_queue does not decrement sacked_out. Therefore
> calls to tcp_sync_left_out before sacked_out is again
> corrected by tcp_fastretrans_alert can trigger this trap as
> sacked_out still has couple of segments that are already out
> of window.
> 
> Signed-off-by: Ilpo Järvinen <[email-masked]>

It would be nice to fix non-SACK as you say, but this is good
enough for now.