]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit8eb298f9ef0b4d4062116c5fe10035647e622a79
treed806d557fb1411add3dddbe6e59ff580afb7e05b
parent0328bd7ed3a2aa214edd7e9cbeeaa967616cdd57
tcp: gso: fix truesize tracking

commit a1c914392b65 ("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>
net/ipv4/tcp_offload.c