Message ID | 20090116072251.GA13327@gondor.apana.org.au |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Herbert Xu <herbert@gondor.apana.org.au> Date: Fri, 16 Jan 2009 18:22:51 +1100 > net: Add debug info to track down GSO checksum bug > > I'm trying to track down why people're hitting the checksum warning > in skb_gso_segment. As the problem seems to be hitting lots of > people and I can't reproduce it or locate the bug, here is a patch > to print out more details which hopefully should help us to track > this down. > > Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Herbert, do you still want me to add this debugging hack to the tree? -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sun, Jan 18, 2009 at 10:08:03PM -0800, David Miller wrote: > From: Herbert Xu <herbert@gondor.apana.org.au> > Date: Fri, 16 Jan 2009 18:22:51 +1100 > > > net: Add debug info to track down GSO checksum bug > > > > I'm trying to track down why people're hitting the checksum warning > > in skb_gso_segment. As the problem seems to be hitting lots of > > people and I can't reproduce it or locate the bug, here is a patch > > to print out more details which hopefully should help us to track > > this down. > > > > Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> > > Herbert, do you still want me to add this debugging hack to > the tree? Yes please do unless there is a better way in finding the bug and fixing it :) Thanks,
From: Herbert Xu <herbert@gondor.apana.org.au> Date: Fri, 16 Jan 2009 18:22:51 +1100 > net: Add debug info to track down GSO checksum bug > > I'm trying to track down why people're hitting the checksum warning > in skb_gso_segment. As the problem seems to be hitting lots of > people and I can't reproduce it or locate the bug, here is a patch > to print out more details which hopefully should help us to track > this down. > > Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/core/dev.c b/net/core/dev.c index b715a55..752dd11 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -1534,7 +1534,19 @@ struct sk_buff *skb_gso_segment(struct sk_buff *skb, int features) skb->mac_len = skb->network_header - skb->mac_header; __skb_pull(skb, skb->mac_len); - if (WARN_ON(skb->ip_summed != CHECKSUM_PARTIAL)) { + if (unlikely(skb->ip_summed != CHECKSUM_PARTIAL)) { + struct net_device *dev = skb->dev; + struct ethtool_drvinfo info = {}; + + if (dev && dev->ethtool_ops && dev->ethtool_ops->get_drvinfo) + dev->ethtool_ops->get_drvinfo(dev, &info); + + WARN(1, "%s: caps=(0x%lx, 0x%lx) len=%d data_len=%d " + "ip_summed=%d", + info.driver, dev ? dev->features : 0L, + skb->sk ? skb->sk->sk_route_caps : 0L, + skb->len, skb->data_len, skb->ip_summed); + if (skb_header_cloned(skb) && (err = pskb_expand_head(skb, 0, 0, GFP_ATOMIC))) return ERR_PTR(err);
Hi Dave: net: Add debug info to track down GSO checksum bug I'm trying to track down why people're hitting the checksum warning in skb_gso_segment. As the problem seems to be hitting lots of people and I can't reproduce it or locate the bug, here is a patch to print out more details which hopefully should help us to track this down. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Thanks,