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  linux-hardening  linux-cve-announce  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:   Tue, 29 Nov 2016 20:07:08 +1100
From:   Stephen Rothwell <sfr@...b.auug.org.au>
To:     Jeff Kirsher <jeffrey.t.kirsher@...el.com>
Cc:     netdev@...r.kernel.org, intel-wired-lan@...ts.osuosl.org,
        Alexander Duyck <alexander.h.duyck@...el.com>,
        davem@...emloft.net, Eric Dumazet <eric.dumazet@...il.com>,
        Eli Cooper <elicooper@....com>,
        Lance Richardson <lrichard@...hat.com>,
        Sven-Haegar Koch <haegar@...net.de>
Subject: Re: [net PATCH 0/2] Don't use lco_csum to compute IPv4 checksum

Hi Jeff,

On Tue, 29 Nov 2016 10:43:04 +1100 Stephen Rothwell <sfr@...b.auug.org.au> wrote:
>
> On Mon, 28 Nov 2016 14:26:02 -0800 Jeff Kirsher <jeffrey.t.kirsher@...el.com> wrote:
> >
> > On Mon, 2016-11-28 at 10:42 -0500, Alexander Duyck wrote:  
> > > When I implemented the GSO partial support in the Intel drivers I was
> > > using
> > > lco_csum to compute the checksum that we needed to plug into the IPv4
> > > checksum field in order to cancel out the data that was not a part of the
> > > IPv4 header.  However this didn't take into account that the transport
> > > offset might be pointing to the inner transport header.
> > > 
> > > Instead of using lco_csum I have just coded around it so that we can use
> > > the outer IP header plus the IP header length to determine where we need
> > > to
> > > start our checksum and then just call csum_partial ourselves.
> > > 
> > > This should fix the SIT issue reported on igb interfaces as well as
> > > simliar
> > > issues that would pop up on other Intel NICs.
> > > 
> > > ---
> > > 
> > > Alexander Duyck (2):
> > >       igb/igbvf: Don't use lco_csum to compute IPv4 checksum
> > >       ixgbe/ixgbevf: Don't use lco_csum to compute IPv4 checksum    
> > 
> > Stephen, I have applied Alex's patches to my net-queue tree.  Can you
> > confirm they resolve the bug seen?  
> 
> Its a bit tricky because the origin problem only happens on my
> production server (ozlabs.org), but I will see if I can manage to just
> remove and reload the driver ...  though, the server is running a 4.7.8
> kernel and I am wondering how well these patches will apply?

We have a winner!  This fixes my problem, so I can run at full speed
with gso and tso enabled in the sit interface and tx-gso-partial
enabled on the underlying ethernet.

Thanks to everyone for diagnosis and solution.

It would be nice if this fix went into the stable kernels as well so it
will turn up in the distro kernels eventually.
-- 
Cheers,
Stephen Rothwell

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ