diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 313960e4cfdcc707c1d2e406ac59f1c4b98c9574..68342d431896779906c9cc2a0415db20b5ff0184 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -2566,7 +2566,7 @@ found: mss = skb_shinfo(p)->gso_size; - flush |= (len > mss) | !len; + flush |= (len - 1) >= mss; flush |= (ntohl(th2->seq) + skb_gro_len(p)) ^ ntohl(th->seq); if (flush || skb_gro_receive(head, skb)) {