bridge: fix error handling in br_add_if()
When device is added to bridge its refcnt is incremented (in new_nbp()), but if error occurs during further br_add_if() operations this counter is not decremented back. Fix it by adding dev_put() call in the error path. Signed-off-by: Volodymyr G Lukiianyk <volodymyrgl@gmail.com> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9a732ed6d0
commit
43af8532ec
@ -411,9 +411,12 @@ int br_add_if(struct net_bridge *br, struct net_device *dev)
|
||||
br_fdb_delete_by_port(br, p, 1);
|
||||
err1:
|
||||
kobject_del(&p->kobj);
|
||||
return err;
|
||||
goto put_back;
|
||||
err0:
|
||||
kobject_put(&p->kobj);
|
||||
|
||||
put_back:
|
||||
dev_put(dev);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user