2011-03-02 04:51:43

by Milton Miller

[permalink] [raw]
Subject: Re: [Stable-review] [22/68] ixgbe: prevent speculative processing of descriptors before ready



----- Original Message Follows -----
From: Ben Hutchings <[email protected]>
To: Greg KH <[email protected]>
Cc: [email protected], [email protected], Don
Skidmore <[email protected]>, Milton Miller
<[email protected]>, "David S. Miller" <[email protected]>,
Anton Blanchard <[email protected]>,
[email protected], [email protected],
[email protected], [email protected], Jeff
Kirsher <[email protected]>
Subject: Re: [Stable-review] [22/68] ixgbe: prevent
speculative processing of descriptors before ready
Date: Tue, 01 Mar 2011 02:14:33 +0000

> On Mon, 2011-02-28 at 08:22 -0800, Greg KH wrote:
> > 2.6.32-longterm review patch. If anyone has any
> > objections, please let us know.
> > ------------------
> >
> > From: Milton Miller <[email protected]>
> >
> > commit 3c945e5b3719bcc18c6ddd31bbcae8ef94f3d19a
> > upstream.
> > The PowerPC architecture does not require loads to
> > independent bytes to be ordered without adding an
> > explicit barrier.
> > In ixgbe_clean_rx_irq we load the status bit then load
> > the packet data. With packet split disabled if these
> > loads go out of order we get a stale packet, but we will
> > notice the bad sequence numbers and drop it.
> > The problem occurs with packet split enabled where the
> > TCP/IP header and data are in different descriptors. If
> > the reads go out of order we may have data that doesn't
> match the TCP/IP header. Since we use hardware
> > checksumming this bad data is never verified and it
> makes it all the way to the application. [...]
>
> Packet splitting should be completely disabled on the
> 82599, anyway. Greg, what happened to this patch:

This was initially observed on 82598 and is still needed
there.

milton