bridge: notifier called with the wrong device
authorstephen hemminger <shemminger@vyatta.com>
Fri, 22 Jul 2011 07:47:08 +0000 (07:47 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 23 Jul 2011 00:01:12 +0000 (17:01 -0700)
If a new device is added to a bridge, the ethernet address of the
bridge network device may change. When the address changes, the
appropriate callback is called, but with the wrong device argument.
The address of the bridge device (ie br0) changes not the address
of the device being passed to add_if (ie eth0).

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_if.c

index 1bacca4cb6764b3fd3652a5b74bfbcef0866db73..3176e2e13d9bbaecf3117abf1c665dbac14538e4 100644 (file)
@@ -388,7 +388,7 @@ int br_add_if(struct net_bridge *br, struct net_device *dev)
        br_ifinfo_notify(RTM_NEWLINK, p);
 
        if (changed_addr)
-               call_netdevice_notifiers(NETDEV_CHANGEADDR, dev);
+               call_netdevice_notifiers(NETDEV_CHANGEADDR, br->dev);
 
        dev_set_mtu(br->dev, br_min_mtu(br));