[Bridge] bridge_list orphans in linux-2.4
shemminger at osdl.org
Thu Sep 21 15:56:29 PDT 2006
On Thu, 21 Sep 2006 14:42:22 +0100
Alex Zeffertt <ajz at cambridgebroadband.com> wrote:
> 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".
You need to find a sequence of commands that reproduces it.
Unless you run multiple commands in parallel, I don't think
there should be a problem with 2.4.
> 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
In 2.6 it was observed that all changes to bridge list were already
being done under the RT netlink mutex, so no additional locking
Stephen Hemminger <shemminger at osdl.org>
More information about the Bridge