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(-)
--
Joe
_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel