• David S. Miller's avatar
    [PATCH] tcp: fix TSO sizing bugs · 846998ae
    David S. Miller authored
    MSS changes can be lost since we preemptively initialize the tso_segs count
    for an SKB before we %100 commit to sending it out.
    
    So, by the time we send it out, the tso_size information can be stale due
    to PMTU events.  This mucks up all of the logic in our send engine, and can
    even result in the BUG() triggering in tcp_tso_should_defer().
    
    Another problem we have is that we're storing the tp->mss_cache, not the
    SACK block normalized MSS, as the tso_size.  That's wrong too.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    Cc: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    846998ae
tcp_output.c 59.1 KB