[Open-FCoE] [PATCH 0/5] fcoe create/destroy/exit locking fixes

Joe Eykholt jeykholt at cisco.com
Tue Jul 7 23:58:57 UTC 2009

The following series fixes some races between fcoe_destroy()
and fcoe_exit().

One crash was: kernel BUG at include/linux/transport_class.h:92
This was presumably caused by fcoe_exit() removing the transport class
while an instance still existed as it was being deleted another
thread in fcoe_destroy().

Another crash was a BUG at fcoe.c:1862 where fcoe_hostlist_remove()
didn't find the netdev being removed, presumably because another
thread had already removed it.

The list lock code is tightened by the first 3 patches, then a new
lock is added by the 4th patch.  The 5th patch is a simple cleanup.


Joe Eykholt (5):
      fcoe: remove unnecessary list and lock initializations.
      fcoe: lock entire create / delete process to avoid races
      fcoe: simplify fcoe_if_destroy and fcoe_destroy
      fcoe: fix unprotected list usage in fcoe_exit()
      fcoe: fix BUG_ON due to list locking

 drivers/scsi/fcoe/fcoe.c |   85 ++++++++++++++++++----------------------------
 1 files changed, 33 insertions(+), 52 deletions(-)


More information about the devel mailing list