This is a note to let you know that I've just added the patch titled bridge: Handle IFLA_ADDRESS correctly when creating bridge device to the 3.10-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: bridge-handle-ifla_address-correctly-when-creating-bridge-device.patch and it can be found in the queue-3.10 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From foo@baz Wed May 28 20:43:09 PDT 2014 From: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri, 25 Apr 2014 17:01:18 +0900 Subject: bridge: Handle IFLA_ADDRESS correctly when creating bridge device From: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> [ Upstream commit 30313a3d5794472c3548d7288e306a5492030370 ] When bridge device is created with IFLA_ADDRESS, we are not calling br_stp_change_bridge_id(), which leads to incorrect local fdb management and bridge id calculation, and prevents us from receiving frames on the bridge device. Reported-by: Tom Gundersen <teg@xxxxxxx> Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- net/bridge/br_netlink.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) --- a/net/bridge/br_netlink.c +++ b/net/bridge/br_netlink.c @@ -438,6 +438,20 @@ static int br_validate(struct nlattr *tb return 0; } +static int br_dev_newlink(struct net *src_net, struct net_device *dev, + struct nlattr *tb[], struct nlattr *data[]) +{ + struct net_bridge *br = netdev_priv(dev); + + if (tb[IFLA_ADDRESS]) { + spin_lock_bh(&br->lock); + br_stp_change_bridge_id(br, nla_data(tb[IFLA_ADDRESS])); + spin_unlock_bh(&br->lock); + } + + return register_netdevice(dev); +} + static size_t br_get_link_af_size(const struct net_device *dev) { struct net_port_vlans *pv; @@ -466,6 +480,7 @@ struct rtnl_link_ops br_link_ops __read_ .priv_size = sizeof(struct net_bridge), .setup = br_dev_setup, .validate = br_validate, + .newlink = br_dev_newlink, .dellink = br_dev_delete, }; Patches currently in stable-queue which might be from makita.toshiaki@xxxxxxxxxxxxx are queue-3.10/bridge-fix-double-free-and-memory-leak-around-br_allowed_ingress.patch queue-3.10/bridge-handle-ifla_address-correctly-when-creating-bridge-device.patch -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html