aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>2007-04-30 00:57:33 -0700
committerDavid S. Miller <davem@davemloft.net>2007-04-30 00:57:33 -0700
commit34588b4c046c34773e5a1a962da7b78b05c4d1bd (patch)
treed655bed4dfd053b4d2a30f647857300694d44c93 /net
parent[PATCH] INET : IPV4 UDP lookups converted to a 2 pass algo (diff)
downloadlinux-dev-34588b4c046c34773e5a1a962da7b78b05c4d1bd.tar.xz
linux-dev-34588b4c046c34773e5a1a962da7b78b05c4d1bd.zip
[TCP]: Catch skb with S+L bugs earlier
SACKED_ACKED and LOST are mutually exclusive with SACK, thus having their sum larger than packets_out is bug with SACK. Eventually these bugs trigger traps in the tcp_clean_rtx_queue with SACK but it's much more informative to do this here. Non-SACK TCP, however, could get more than packets_out duplicate ACKs which each increment sacked_out, so it makes sense to do this kind of limitting for non-SACK TCP but not for SACK enabled one. Perhaps the author had the opposite in mind but did the logic accidently wrong way around? Anyway, the sacked_out incrementer code for non-SACK already deals this issue before calling sync_left_out so this trapping can be done unconditionally. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions