[patch 55/67] IPV6: Disable SG for GSO unless we have checksum

From: Greg KH
Date: Wed Oct 11 2006 - 17:12:22 EST



-stable review patch. If anyone has any objections, please let us know.

------------------
From: David Miller <davem@xxxxxxxxxxxxx>

Because the system won't turn off the SG flag for us we
need to do this manually on the IPv6 path. Otherwise we
will throw IPv6 packets with bad checksums at the hardware.

Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

---
net/ipv6/ipv6_sockglue.c | 3 +++
1 file changed, 3 insertions(+)

--- linux-2.6.18.orig/net/ipv6/ipv6_sockglue.c
+++ linux-2.6.18/net/ipv6/ipv6_sockglue.c
@@ -123,6 +123,9 @@ static struct sk_buff *ipv6_gso_segment(
struct ipv6hdr *ipv6h;
struct inet6_protocol *ops;

+ if (!(features & NETIF_F_HW_CSUM))
+ features &= ~NETIF_F_SG;
+
if (unlikely(skb_shinfo(skb)->gso_type &
~(SKB_GSO_UDP |
SKB_GSO_DODGY |

--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/