Commit cda6d377 authored by Stephen Hemminger's avatar Stephen Hemminger Committed by David S. Miller

bridge: bad error handling when adding invalid ether address

This fixes an crash when empty bond device is added to a bridge.
If an interface with invalid ethernet address (all zero) is added
to a bridge, then bridge code detects it when setting up the forward
databas entry. But the error unwind is broken, the bridge port object 
can get freed twice: once when ref count went to zeo, and once by kfree.
Since object is never really accessible, just free it.
Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c80dd2da
...@@ -426,7 +426,6 @@ int br_add_if(struct net_bridge *br, struct net_device *dev) ...@@ -426,7 +426,6 @@ int br_add_if(struct net_bridge *br, struct net_device *dev)
err1: err1:
kobject_del(&p->kobj); kobject_del(&p->kobj);
err0: err0:
kobject_put(&p->kobj);
dev_set_promiscuity(dev, -1); dev_set_promiscuity(dev, -1);
put_back: put_back:
dev_put(dev); dev_put(dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment