[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <AANLkTikthaM7SmAhC0iw2A5dscoGugOACdzCVReu=x0W@mail.gmail.com>
Date: Wed, 21 Jul 2010 13:28:01 -0700
From: Jeff Kirsher <jeffrey.t.kirsher@...el.com>
To: Sonny Rao <sonnyrao@...ibm.com>
Cc: netdev@...r.kernel.org, e1000-devel@...ts.sourceforge.net
Subject: Re: [PATCH] Add missing read memory barrier to Intel Ethernet device
drivers
On Wed, Jul 21, 2010 at 09:22, Sonny Rao <sonnyrao@...ibm.com> wrote:
> From: Milton Miller <miltonm@....com>
>
> 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.
>
> This bug was found during stress testing and adding this barrier has been shown
> to fix it. The bug can manifest as a data integrity issue (bad payload data)
> or as a BUG in skb_pull().
>
> This was a nasty bug to hunt down, if people agree with the fix I think
> it's a candidate for stable.
>
> Previously Submitted to e1000-devel only for ixgbe
>
> http://marc.info/?l=e1000-devel&m=126593062701537&w=3
>
> We've now seen this problem hit with other device drivers (e1000e mostly)
> So I'm resubmitting with fixes for other Intel Device Drivers with
> similar issues: ixgb, e100, e1000, and e1000e
>
> Signed-off-by: Milton Miller <miltonm@....com>
> Signed-off-by: Anton Blanchard <anton@...ba.org>
> Signed-off-by: Sonny Rao <sonnyrao@...ibm.com>
> cc: stable <stable@...nel.org>
>
Thanks Milton, I have added the patch to my queue.
--
Cheers,
Jeff
--
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