public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Alexander Duyck <alexander.h.duyck@intel.com>
To: Dmitry Fleytman <dmitry@daynix.com>
Cc: linux-kernel@vger.kernel.org, e1000-devel@lists.sourceforge.net,
	Chris Webb <chris.webb@elastichosts.com>,
	Richard Davies <richard.davies@elastichosts.com>
Subject: Re: [PATCH] e1000 driver RX race condition fixed
Date: Mon, 15 Oct 2012 11:53:59 -0700	[thread overview]
Message-ID: <507C5BC7.1060108@intel.com> (raw)
In-Reply-To: <1350235151-11146-1-git-send-email-dmitry@daynix.com>

On 10/14/2012 10:19 AM, Dmitry Fleytman wrote:
> There is a race condition in e1000 driver.
> It enables HW receive before RX rings initalization.
> In case of specific timing this may lead to host memory corruption
> due to DMA write to arbitrary memory location.
> Following patch fixes this issue by reordering initialization steps.
>
> Other Intel network drivers does not seem to have this issue.
>
> Dmitry Fleytman (1):
>   RX initialization sequence fixed - enable RX after corresponding ring
>     initialization only
>
>  drivers/net/ethernet/intel/e1000/e1000_ethtool.c |    9 +++++----
>  drivers/net/ethernet/intel/e1000/e1000_main.c    |   18 ++++++++++++++++--
>  2 files changed, 21 insertions(+), 6 deletions(-)
>

What device was it you saw this issue with?  The reason why I ask is
because I suspect this change should cause most of our e1000 hardware to
lock up since normally if you allocate buffers and then enable Rx it
will mean the ring was not updated and it will treat it as if there are
no buffers available.

Thanks,

Alex


  parent reply	other threads:[~2012-10-15 18:54 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-14 17:19 [PATCH] e1000 driver RX race condition fixed Dmitry Fleytman
2012-10-14 17:19 ` [PATCH] RX initialization sequence fixed - enable RX after corresponding ring initialization only Dmitry Fleytman
2012-10-15  5:52   ` [E1000-devel] " Jeff Kirsher
2012-10-15 17:41     ` Dmitry Fleytman
2012-10-19 19:19     ` Richard Davies
2012-10-19 19:34       ` Dmitry Fleytman
2012-10-23  5:23       ` Jeff Kirsher
2012-10-15 18:53 ` Alexander Duyck [this message]
2012-10-15 19:44   ` [PATCH] e1000 driver RX race condition fixed Dmitry Fleytman
2012-10-15 20:03     ` Alexander Duyck
2012-10-15 20:20       ` Dmitry Fleytman
2012-10-15 21:17         ` Alexander Duyck
2012-10-17 17:46 ` Jan Ceuleers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=507C5BC7.1060108@intel.com \
    --to=alexander.h.duyck@intel.com \
    --cc=chris.webb@elastichosts.com \
    --cc=dmitry@daynix.com \
    --cc=e1000-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=richard.davies@elastichosts.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox