tcp: tcp_sendmsg() only deals with CHECKSUM_PARTIAL
authorEric Dumazet <edumazet@google.com>
Mon, 19 Feb 2018 19:56:50 +0000 (11:56 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 21 Feb 2018 19:24:14 +0000 (14:24 -0500)
We no longer have skbs with skb->ip_summed == CHECKSUM_NONE
in TCP write queues.

We can remove dead code in tcp_sendmsg().

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp.c

index 7c41402..a335397 100644 (file)
@@ -1254,14 +1254,10 @@ restart:
 
        while (msg_data_left(msg)) {
                int copy = 0;
-               int max = size_goal;
 
                skb = tcp_write_queue_tail(sk);
-               if (skb) {
-                       if (skb->ip_summed == CHECKSUM_NONE)
-                               max = mss_now;
-                       copy = max - skb->len;
-               }
+               if (skb)
+                       copy = size_goal - skb->len;
 
                if (copy <= 0 || !tcp_skb_can_collapse_to(skb)) {
                        bool first_skb;
@@ -1290,7 +1286,6 @@ new_segment:
 
                        skb_entail(sk, skb);
                        copy = size_goal;
-                       max = size_goal;
 
                        /* All packets are restored as if they have
                         * already been sent. skb_mstamp isn't set to
@@ -1374,7 +1369,7 @@ new_segment:
                        goto out;
                }
 
-               if (skb->len < max || (flags & MSG_OOB) || unlikely(tp->repair))
+               if (skb->len < size_goal || (flags & MSG_OOB) || unlikely(tp->repair))
                        continue;
 
                if (forced_push(tp)) {