]> err.no Git - linux-2.6/commitdiff
[TCP]: Fix off by one in tcp_fragment() "already sent" test.
authorHerbert Xu <herbert@gondor.apana.org.au>
Thu, 8 Sep 2005 22:10:52 +0000 (15:10 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 8 Sep 2005 22:10:52 +0000 (15:10 -0700)
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_output.c

index 6094db5e11be798631ff7699396f551314374ee2..15e1134da1b2af9e8aba4e110078455d4739894a 100644 (file)
@@ -499,7 +499,7 @@ int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len, unsigned int mss
        /* If this packet has been sent out already, we must
         * adjust the various packet counters.
         */
-       if (after(tp->snd_nxt, TCP_SKB_CB(buff)->end_seq)) {
+       if (!before(tp->snd_nxt, TCP_SKB_CB(buff)->end_seq)) {
                int diff = old_factor - tcp_skb_pcount(skb) -
                        tcp_skb_pcount(buff);