A major bug was recently discovered in the upstream Linux kernel (see also Mandriva bug #44147). This issue does not affect any stable Mandriva Linux release and will not affect the final release of Mandriva Linux 2009.
This is not a Mandriva-specific issue, the cause lies in the official kernel code, and the issue will affect any system or distribution that uses the affected kernels. It can cause the EEPROM data on Intel 82566 and 82567 network interfaces (part of the ICH8 and ICH9 chipsets) supported by the e1000e module to become corrupted, rendering the interface unusable.
This bug is known to be present in all current 2.6.27 pre-release kernels.
The issue potentially affects all current Mandriva Linux 2009 pre-releases (earlier pre-releases came with a 2.6.26 kernel, but if you installed one and updated regularly, you would be automatically updated to a 2.6.27 kernel). It will not affect Mandriva Linux 2009 RC2, which will be released soon with a kernel that works around the issue. The issue will not be present in the final release of Mandriva Linux 2009. It does not affect any Mandriva Linux stable release (including 2008 Spring) unless you are using a non-official kernel. If you are using any current Mandriva Linux 2009 pre-release, we highly recommend you check whether this issue may affect you.
The issue is believed to affect systems based on the Intel ICH8 and ICH9 chipsets, and using the 82566 and 82567 ethernet chipsets. To check whether your system includes the affected hardware, run this command as root:
lspci | grep 8256[67]
If it returns any output, your system is affected by this issue. If it does not, then your system is not affected.
It is theoretically possible (though unlikely) that the issue could affect other chipsets that are supported by the e1000e module. If the above command did not return any output, but you are still worried about this issue, you can check if your network adapter uses this module by running the following command as root:
/sbin/lsmod | grep e1000e
If it returns any output, then the e1000e module is loaded on your system, and you may be affected by this issue. If it does not return any output but just returns immediately to a prompt, you are not affected by the issue.
If you do have the affected hardware, we (and Intel) recommend you immediately back up your EEPROM data, using the following command as root:
ethtool -e ethX > savemyeep.txt
Where ethX is the affected interface. Usually it will be eth0. This will save the EEPROM data to the savemyeep.txt file. Keep this file safe. If you were subsequently to have the problem occur, we can then assist you in restoring the data from this backup file.
We recommend you then immediately switch to an unaffected kernel. Cooker kernels from version 2.6.27-0.rc7.1.1mnb work around the problem by disabling the driver; this will prevent your network interface from working, but will also ensure it is not affected by this issue. Kernel 2.6.27-0.rc7.1.1mnb will be available in the Cooker repositories on September 24th. You can also attempt to ‘downgrade’ to the latest official kernel available for Mandriva Linux 2008 Spring, by downloading the relevant packages directly from a 2008 Spring repository. As this will be a 2.6.24 kernel, it is unaffected by this problem. However, you may have difficulty booting and using a 2009 pre-release correctly with a 2.6.24 kernel. Finally, if you happen to still have a previous 2.6.26 kernel installed, you can boot to that kernel to avoid the issue.
If you cannot switch to an unaffected kernel, we recommend you immediately stop the network service, and then run the following commands as root:
modprobe -r e1000e
rm -f /lib/modules/2.6.27*/kernel/drivers/net/e1000e/e1000e.ko.gz
depmod -a
Then restart the network service. This will remove the affected module from all potentially affected kernels on your system entirely, making it impossible for it to load in future and thus cause you to suffer the bug. It will, of course, prevent the network interface in question from working with these kernels.
If you believe you have already been affected by the issue, which usually manifests itself as the network interface suddenly failing to work after a kernel panic caused by a graphics driver and seems to mainly affect systems which use the Intel ICH8 / ICH9 chipset, you may be able to resolve the problem by ‘updating’ (or simply reflashing the same version of) the motherboard’s BIOS (see your motherboard or laptop vendor’s support site for BIOS downloads and flashing instructions). If this does not work, the only safe course of action is to return the system or motherboard to your vendor for repair or replacement. Some sources may recommend the use of a tool named ibautil.exe, but please do not do this. It is in fact more likely to cause more irreparable damage to the EEPROM than it is to fix it.
If you have any trouble understanding or following these instructions, or you have any questions about this issue and your potential exposure to it, please post to the official Mandriva Cooker forum, the Cooker mailing list, or the kernel-discuss mailing list. Mandriva staff monitor all of these locations closely and will be able to assist you immediately with any questions, concerns or problems.
Et maintenant, pour les francophones :
Comme certains d’entre vous l’ont peut être déjà lu, un bug majeur a été découvert dans le kernel upstream (bug #44147 dans le Bugzilla Mandriva). Ce problème ne concerne pas les versions stables de Mandriva Linux (2008 et 2008 Spring) ni ne concernera la version finale de Mandriva Linux 2009.
Il concerne le module e1000e qui lorsqu’il est chargé peut corrompre les données de l’EEPROM des interfaces réseau concernées et les rendre inutilisables. Ce bug est susceptible de toucher les systèmes basés sur des chipsets Intel ICH8 et ICH9.
Le bug est présent dans les kernels 2.6.27 RC. Est donc touchée la version RC1 de Mandriva 2009 si les mises à jour ont été appliquées. Les versions stables de Mandriva ne sont pas touchées sauf si vous utilisez un kernel non officiel. La version RC2 est repoussée d’une journée pour permettre notamment la mise à jour du noyau avec le correctif adéquat.
Pour vérifier si votre carte réseau utilise ce module, exécutez la comande suivante en tant que root :
/sbin/lsmod | grep e1000e
Si la commande vous donne une ou plusieurs lignes alors vous avez une ou plusieurs interfaces utilisant ce module. Dans le cas contraire vous n’êtes pas concerné.
Si vous êtes concerné, Intel recommande de sauvegardez l’EEPROM de la manière suivante :
ethtool -e ethX > savemyeep.txt
ethX est l’interface concernée. Conservez le fichier ainsi obtenu.
Le kernel 2.6.27-0.rc7.1.1mnb contournera ce problème en désactivant le driver fautif. Cela empechera votre interface de fonctionner mais vous évitera d’endommager la carte. Si vous ne pouvez pas effectuer de mise à jour noyau, nous vous recommandons de stopper immédiatement le service network et exécuter les commandes suivantes en tant que root :
modprobe -r e1000e
rm -f /lib/modules/2.6.27*/kernel/drivers/net/e1000e/e1000e.ko.gz
depmod -a
Vous pouvez alors redémarrer le service network. Vous aurez ainsi supprimé le module fautif et rendant ainsi son chargement ultérieur impossible.
Si vous pensez avoir été affecté (principal symptome : arrêt brutal de l’interface après un kernel panic), il est possible de résoudre le problème en updatant ou en reflashant le BIOS de votre carte mère. Dans le cas où cela ne fonctionnerait toujours pas, le plus sûr est de retourner la carte mère au revendeur ou fabricant.
Quoiqu’il arrive vous pouvez poster tout problème relatif sur ce forum ou l’une des mailing-lists Mandriva, vous serez assisté pour résoudre votre problème.