tcp: gso: fix truesize tracking
authorEric Dumazet <edumazet@google.com>
Sat, 26 Oct 2013 00:26:17 +0000 (17:26 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 29 Oct 2013 04:04:47 +0000 (00:04 -0400)
commit 6ff50cd55545 ("tcp: gso: do not generate out of order packets")
had an heuristic that can trigger a warning in skb_try_coalesce(),
because skb->truesize of the gso segments were exactly set to mss.

This breaks the requirement that

skb->truesize >= skb->len + truesizeof(struct sk_buff);

It can trivially be reproduced by :

ifconfig lo mtu 1500
ethtool -K lo tso off
netperf

As the skbs are looped into the TCP networking stack, skb_try_coalesce()
warns us of these skb under-estimating their truesize.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

No differences found