Networking Connectivity
Network Connectivity
e1000 Causes Panic when Changing MTU Under Stress

Symptom(s):
As taken from Red Hat Bugzilla*:
https://bugzilla.redhat.com/show_bug.cgi?id=502981*

"Patch to fix bad length checking in e1000. E1000 by default does two things:

1) Spans rx descriptors for packets that don't fit into 1 skb on receive
2) Strips the crc from a frame by subtracting 4 bytes from the length prior to doing an skb_put

Since the e1000 driver isn't written to support receiving packets that span multiple rx buffers, it checks the End of Packet bit of every frame, and discards it if its not set. This places us in a situation where, if we have a spanning packet, the first part is discarded, but the second part is not (since it is the end of packet, and it passes the EOP bit test). If the second part of the frame is small (4 bytes or less), we subtract 4 from it to remove its crc, underflow the length, and wind up in skb_over_panic, when we try to skb_put a huge number of bytes into the skb. This amounts to a remote DOS attack through careful selection of frame size in relation to interface MTU. The fix for this is already in the e1000e driver, as well as the e1000 sourceforge driver, but no one ever pushed it to e1000. This is lifted straight from e1000e, and prevents small frames from causing the underflow described above."

Cause:
Code errata in e1000 drivers released before version 7.5.5.

Solution:
Use e1000 driver version 7.5.5 or later. The latest e1000 driver can be downloaded from:
Network Adapter Driver for Gigabit PCI Based Network Connections for Linux*

Operating System:

Linux*

This applies to:

Intel® Gigabit CT Desktop Adapter
Intel® PRO/1000 CT Network Connection
Intel® PRO/1000 F Server Adapter
Intel® PRO/1000 Gigabit Server Adapter
Intel® PRO/1000 GT Desktop Adapter
Intel® PRO/1000 GT Quad Port Server Adapter
Intel® PRO/1000 MF Dual Port Server Adapter
Intel® PRO/1000 MF Server Adapter
Intel® PRO/1000 MF Server Adapter (LX)
Intel® PRO/1000 MT Desktop Adapter
Intel® PRO/1000 MT Dual Port Server Adapter
Intel® PRO/1000 MT Quad Port Server Adapter
Intel® PRO/1000 MT Server Adapter
Intel® PRO/1000 PM Network Connection
Intel® PRO/1000 T Desktop Adapter
Intel® PRO/1000 T Server Adapter
Intel® PRO/1000 XF Server Adapter
Intel® PRO/1000 XT Low Profile Server Adapter
Intel® PRO/1000 XT Server Adapter

Solution ID: CS-030543
Last Modified: 14-Oct-2014
Date Created: 09-Jun-2009
Back to Top