[Bridge] Assertion failed in bridge code on 2.4.27-rc3
Stephen Hemminger
shemminger at osdl.org
Wed Jul 28 16:28:02 PDT 2004
The code path for some ioctl's is different in 2.4 than 2.6 (it goes
through IP in 2.4). Therefore the following is needed.
Signed-off-by: Stephen Hemminger <shemminger at osdl.org>
diff -Nru a/net/bridge/br_ioctl.c b/net/bridge/br_ioctl.c
--- a/net/bridge/br_ioctl.c 2004-07-28 16:28:49 -07:00
+++ b/net/bridge/br_ioctl.c 2004-07-28 16:28:49 -07:00
@@ -234,6 +234,7 @@
int br_ioctl_deviceless_stub(unsigned long arg)
{
unsigned long i[3];
+ int err;
if (!capable(CAP_NET_ADMIN))
return -EPERM;
@@ -241,8 +242,10 @@
if (copy_from_user(i, (void *)arg, 3*sizeof(unsigned long)))
return -EFAULT;
- ASSERT_RTNL();
- return br_ioctl_deviceless(i[0], i[1], i[2]);
+ rtnl_lock();
+ err = br_ioctl_deviceless(i[0], i[1], i[2]);
+ rtnl_unlock();
+ return err;
}
int br_ioctl(struct net_bridge *br, unsigned int cmd, unsigned long arg0, unsigned long arg1, unsigned long arg2)
More information about the Bridge
mailing list