Skip to contentSkip to conversation

ixgbe: prevent speculative processing of descriptors before ready

PATCH miltonm 1 participant 1 message Mar 2, 2011

lore
Share & tools
lore

miltonm

author
#0 lore raw

----- 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

Quoted 19 lines · Greg KH
Quoted 6 lines

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

From: Milton Miller <[email protected]>

Quoted 12 lines

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

Quoted 6 lines

match the TCP/IP header. Since we use hardware

Quoted 1 line

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