]> git.baikalelectronics.ru Git - kernel.git/commit
gro: Fix handling of imprecisely split packets
authorHerbert Xu <herbert@gondor.apana.org.au>
Sun, 1 Feb 2009 09:24:55 +0000 (01:24 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 1 Feb 2009 09:24:55 +0000 (01:24 -0800)
commit0cc6610be8271ed63419bcdae9c9e35e339128ba
treec60a3572d8a84aaee2b4a1dc63d69815013d2273
parent8782f87daefcc699d914b48c0c907e893abd0f30
gro: Fix handling of imprecisely split packets

The commit 89a1b249edcf9be884e71f92df84d48355c576aa (gro: Avoid
copying headers of unmerged packets) only worked for packets
which are either completely linear, completely non-linear, or
packets which exactly split at the boundary between headers and
payload.

Anything else would cause bits in the header to go missing if
the packet is held by GRO.

This may have broken drivers such as ixgbe.

This patch fixes the places that assumed or only worked with
the above cases.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c