diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index cfd7edda0a8eb6e8dd908a1bc5c309225c4ce495..2ff6f45a76f46dce6d9ed1cae24afa7852643766 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -860,7 +860,7 @@ static ssize_t do_tcp_sendpages(struct sock *sk, struct page **pages, int poffse } out: - if (copied) + if (copied && !(flags & MSG_MORE)) tcp_push(sk, flags, mss_now, tp->nonagle); return copied;