lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 22 Oct 2008 10:57:04 -0700
From:	"Matt Carlson" <mcarlson@...adcom.com>
To:	"Herbert Xu" <herbert@...dor.apana.org.au>
cc:	"David Miller" <davem@...emloft.net>,
	"berni@...kenwald.de" <berni@...kenwald.de>,
	"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
	"Matthew Carlson" <mcarlson@...adcom.com>
Subject: Re: WARNING (skb_gso_segment) with tg3+bridge in 2.6.27

On Wed, Oct 22, 2008 at 12:45:02AM -0700, Herbert Xu wrote:
> On Mon, Oct 13, 2008 at 12:42:26AM -0700, David Miller wrote:
> > From: Bernhard Schmidt <berni@...kenwald.de>
> > Date: Sat, 11 Oct 2008 19:20:03 +0200
> > 
> > > [  289.588669] ------------[ cut here ]------------
> > > [  289.588673] WARNING: at net/core/dev.c:1505 skb_gso_segment+0x82/0x1a7()
> > > 
> > >         if (WARN_ON(skb->ip_summed != CHECKSUM_PARTIAL)) {
> > 
> > So this is via tg3_tso_bug()
> > 
> >  ...
> > > [  289.588760]  [<ffffffff803d14ab>] dev_queue_xmit+0x3aa/0x462
> > > [  289.588778]  [<ffffffffa024ca8c>] ip6_output+0xce7/0xcff [ipv6]
> > > [  289.588785]  [<ffffffffa023ade0>] br_dev_queue_push_xmit+0x75/0x79 [bridge]
> > > [  289.588792]  [<ffffffffa023a2fe>] br_dev_xmit+0x66/0x7c [bridge]
> > > [  289.588795]  [<ffffffff803d1535>] dev_queue_xmit+0x434/0x462
> > > [  289.588811]  [<ffffffffa024ca8c>] ip6_output+0xce7/0xcff [ipv6]
> > > [  289.588827]  [<ffffffffa024b8b4>] ip6_xmit+0x35c/0x439 [ipv6]
> > > [  289.588848]  [<ffffffffa026d303>] inet6_csk_xmit+0x223/0x236 [ipv6]
> > > [  289.588850]  [<ffffffff80443e8e>] _spin_lock_irqsave+0x21/0x29
> > > [  289.588853]  [<ffffffff804059ff>] tcp_transmit_skb+0x60f/0x64e
> > 
> > And it seems we have a TCP TSO frame that went through bridging
> > netfilter.
> 
> I'm pretty sure this particular backtrace is a result of tg3
> enabling NETIF_F_TSO6 without also enabling NETIF_F_IPV6_CSUM.

Looking at the dmesg output, I see that the tg3 device is a 5714.
NETIF_F_TSO6 should not be enabled for the 5714.  Why is the driver
getting an IPv6 TSO packet?

> So my question is to the tg3 developers, does having TSO6 without
> IPv6 checksums ever make sense?

No.  TSO implies checksum offload.

> Put it another way, how can you
> have a device that can compute checksums for TCPv6 packets but
> not UDPv6 packets?

The checksum operations should be exactly the same between the two.
I can't help but wonder why UDP entered the scene though.  The tg3
driver never sets NETIF_F_UFO.

> Thanks,
> -- 
> Visit Openswan at http://www.openswan.org/
> Email: Herbert Xu ~{PmV>HI~} <herbert@...dor.apana.org.au>
> Home Page: http://gondor.apana.org.au/~herbert/
> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
> 


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists