gro: Only verify TCP checksums for candidates
authorHerbert Xu <herbert@gondor.apana.org.au>
Fri, 22 Nov 2013 02:31:29 +0000 (10:31 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 23 Nov 2013 22:46:19 +0000 (14:46 -0800)
commitcc5c00bbb44c5d68b883aa5cb9d01514a2525d94
treee09c2d77f476ef4584308510c30601d518d91f68
parentd6c416148545bd99d3cc05e672460168245cc156
gro: Only verify TCP checksums for candidates

In some cases we may receive IP packets that are longer than
their stated lengths.  Such packets are never merged in GRO.
However, we may end up computing their checksums incorrectly
and end up allowing packets with a bogus checksum enter our
stack with the checksum status set as verified.

Since such packets are rare and not performance-critical, this
patch simply skips the checksum verification for them.

Reported-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Alexander Duyck <alexander.h.duyck@intel.com>
Thanks,
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_offload.c
net/ipv6/tcpv6_offload.c