[steve.langasek at ubuntu.com: Serious, potentially hardware-damaging e1000e driver issue on Intrepid]

Tim Gardner tim.gardner at canonical.com
Wed Sep 24 13:28:13 BST 2008

I think its becoming clear how NVRAM is becoming corrupted. Some designs
of the e1000e adapter (ICH8/ICH9/ICH10) appear to have real non-volatile
RAM as opposed to flash. That NV RAM is mapped into CPU memory space at
driver init, and is left mapped in order to service calls from user
space tools like ethtool. Any uncontrolled memory access, such as what
might happen with an unrelated oops, could write in this memory area
thereby altering the code and corrupting the checksum. The NV RAM is
part of the BIOS extension, so if it cannot run at startup, then the NIC
won't appear in PCI space.

Intel has some proposed patches on LKML that, though NV RAM is left
mapped, at least marks it readonly until user space tools need write
access. The intention is to not only protect NV RAM, but also fault when
 NV RAM is written so that we might figure out what crash is causing
this. There is some speculation about it being a crash in X, but there
is little hard data as of yet.

After consulting with Steve Langasek, I uploaded an Intrepid kernel last
night (2.6.27-4.6) with e1000e completely disabled. Blacklisting in
module-init-tools was insufficient given that most systems have e1000e
built into the initrd.

Tim Gardner tim.gardner at canonical.com

More information about the ubuntu-devel mailing list