[Bridge] bridge_list orphans in linux-2.4

Alex Zeffertt ajz at cambridgebroadband.com
Thu Sep 21 06:42:22 PDT 2006


Hi all,

We use linux-2.4.20 in one of our products and we've found what looks
to be a problem in the bridge module.  (I know this is old code but we
don't send our customers kernel upgrades unless we really have to!)

The problem is that some of our bridges have become orphaned from the
bridge module.  Specifically

	ifconfig ourbridgename

shows that the device "ourbridgename" is known to the kernel, but

	brctl show

does not list "ourbridgename".


I've looked through the bridge module and it seems that the most likely
explanation is that bridge_list in br_if.c has become corrupted, causing
the bridge called "ourbridgename" to become orphaned.

I cannot see how this would happen, however, since bridge_list is only
ever referenced under the ioctl_mutex.  I should also point out that
br_del_bridge() is not called by our application.

I noticed that in later kernels the ioctl_mutex has been replaced by
the rtnl_lock().  Why was this done?  Could this be related to our
problem?

TIA,

Alex



More information about the Bridge mailing list