potential nasty bug in igb and ixgbe

Jack Vogel jfvogel at gmail.com
Wed Oct 1 22:16:48 UTC 2008


Jeff Roberson uncovered an issue that might be behind any number of
possible problems.

Our newer hardware (meaning those supported by the igb and ixgbe
drivers) overwrites the buffer address in the RX
descriptor with a variety of data in support of advanced features (see
the relevant header files for details).

However, in the rxeof code, if you fail to get a new mbuf, and hence,
will discard, the descriptor is being left in the wb form,
meaning that the address is jibberish for the next time the engine
uses that descriptor.

I am modifying get_buf so that it fixes the address in the descriptor
when this happens. I know when my test group has had
the igb driver under heavy load they have had some panics, right now
I'm not sure if this has been at the root of those or not.

If you want to see how I'm changing the code just speak up :) And
thanks for finding this Jeff.

Jack


More information about the freebsd-net mailing list