[prev in list] [next in list] [prev in thread] [next in thread] 

List:       bonding-devel
Subject:    [Bonding-devel] [PATCH netdev-2.6] bonding: UPDATED hash-table corruption in bond_alb.c
From:       Jay Vosburgh <fubar () us ! ibm ! com>
Date:       2006-01-09 20:14:00
Message-ID: 200601092014.k09KE0jj019083 () death ! nxdomain ! ibm ! com
[Download RAW message or body]


	I believe I see the race Michael refers to (tlb_choose_channel
may set head, which tlb_init_slave clears), although I was not able to
reproduce it.  I have updated his patch for the current netdev-2.6.git
tree and added a version update.  His original comment follows:

Our systems have been crashing during testing of PCI HotPlug
support in the various networking components.  We've faulted in
the bonding driver due to a bug in bond_alb.c:tlb_clear_slave()

In that routine, the last modification to the TLB hash table is
made without protection of the lock, allowing a race that can lead
tlb_choose_channel() to select an invalid table element.

	-J

---
	-Jay Vosburgh, IBM Linux Technology Center, fubar@us.ibm.com


Signed-off-by: Michael O'Donnell <Michael.ODonnell at stratus dot com>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>

--- netdev-2.6.git-upstream/drivers/net/bonding/bond_alb.c	2006/01/07 00:26:11	1.1
+++ netdev-2.6.git-upstream/drivers/net/bonding/bond_alb.c	2006/01/09 19:55:12
@@ -169,9 +169,9 @@
 		index = next_index;
 	}
 
-	_unlock_tx_hashtbl(bond);
-
 	tlb_init_slave(slave);
+
+	_unlock_tx_hashtbl(bond);
 }
 
 /* Must be called before starting the monitor timer */
--- netdev-2.6.git-upstream/drivers/net/bonding/bonding.h	2006/01/07 00:26:11	1.1
+++ netdev-2.6.git-upstream/drivers/net/bonding/bonding.h	2006/01/09 19:55:42
@@ -22,8 +22,8 @@
 #include "bond_3ad.h"
 #include "bond_alb.h"
 
-#define DRV_VERSION	"3.0.0"
-#define DRV_RELDATE	"November 8, 2005"
+#define DRV_VERSION	"3.0.1"
+#define DRV_RELDATE	"January 9, 2006"
 #define DRV_NAME	"bonding"
 #define DRV_DESCRIPTION	"Ethernet Channel Bonding Driver"
 


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Bonding-devel mailing list
Bonding-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bonding-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic