summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@vyatta.com>2009-03-25 21:01:47 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2009-05-02 10:23:47 -0700
commitdda311d8409e188023b072bf7dc0b1de11b7f011 (patch)
tree27aadc3a1af14066deed9c8af137614717feb95e /net
parent83e2cc9bc55d188f8ddd9fb22e6eb71608311a72 (diff)
downloadlwn-dda311d8409e188023b072bf7dc0b1de11b7f011.tar.gz
lwn-dda311d8409e188023b072bf7dc0b1de11b7f011.zip
bridge: bad error handling when adding invalid ether address
[ Upstream commit cda6d377ec6b2ee2e58d563d0bd7eb313e0165df ] 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: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'net')
-rw-r--r--net/bridge/br_if.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c
index 63c18aacde8c..2043c8ea7cf6 100644
--- a/net/bridge/br_if.c
+++ b/net/bridge/br_if.c
@@ -419,7 +419,6 @@ err2:
err1:
kobject_del(&p->kobj);
err0:
- kobject_put(&p->kobj);
dev_set_promiscuity(dev, -1);
put_back:
dev_put(dev);