Jelajahi Sumber

[TCP]: Fix off by one in tcp_fragment() "already sent" test.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Herbert Xu 19 tahun lalu
induk
melakukan
cf0b450cd5
1 mengubah file dengan 1 tambahan dan 1 penghapusan
  1. 1 1
      net/ipv4/tcp_output.c

+ 1 - 1
net/ipv4/tcp_output.c

@@ -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);