Hello David,

The code in br_if.c tries to do a kmalloc with GFP_KERNEL when a write_lock_bh 
is held.
[net/bridge/br_if.c:236]
        write_lock_bh(&br->lock);
        if ((p = new_nbp(br, dev)) == NULL) {
                write_unlock_bh(&br->lock);

The fix for this was given by [EMAIL PROTECTED], on the lkml, but wasn't 
picked up. Please apply his patch below.

cheers,
Bart

--- linux-2.5.48/net/bridge/br_if.c.old Fri Nov 22 21:40:28 2002
+++ linux-2.5.48/net/bridge/br_if.c     Fri Nov 22 21:41:24 2002
@@ -145,7 +145,7 @@ static struct net_bridge_port *new_nbp(s
        int i;
        struct net_bridge_port *p;
 
-       p = kmalloc(sizeof(*p), GFP_KERNEL);
+       p = kmalloc(sizeof(*p), GFP_ATOMIC);
        if (p == NULL)
                return p;
 

_______________________________________________
Bridge mailing list
[EMAIL PROTECTED]
http://www.math.leidenuniv.nl/mailman/listinfo/bridge

Reply via email to