]> git.baikalelectronics.ru Git - kernel.git/commit
tcp: Stop non-TSO packets morphing into TSO
authorHerbert Xu <herbert@gondor.apana.org.au>
Sun, 28 Jun 2009 18:03:30 +0000 (18:03 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 30 Jun 2009 02:41:39 +0000 (19:41 -0700)
commit13dc27dccd995fa641596b8e88469c01c0f131a6
tree216ce989fdac1d8ecd33698e8fae46fe0d4bb616
parent03aecbedd7f5ab2f1a5bf364522a3ac4bf108890
tcp: Stop non-TSO packets morphing into TSO

If a socket starts out on a non-TSO route, and then switches to
a TSO route, then the tail on the tx queue can morph into a TSO
packet, causing mischief because the rest of the stack does not
expect a partially linear TSO packet.

This patch fixes this by ensuring that skb->ip_summed is set to
CHECKSUM_PARTIAL before declaring a packet as TSO.

Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_output.c