mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-08 18:42:53 +00:00
bonding: unwind on bond_add_vlan failure
In case of bond_add_vlan() failure currently we'll have the vlan's refcnt bumped up in all slaves, but it will never go down because it failed to get added to the bond, so properly unwind the added vlan if bond_add_vlan fails. Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com> Acked-by: Veaceslav Falico <vfalico@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1ff412ad77
commit
b20903f2a9
@ -455,13 +455,13 @@ static int bond_vlan_rx_add_vid(struct net_device *bond_dev,
|
||||
if (res) {
|
||||
pr_err("%s: Error: Failed to add vlan id %d\n",
|
||||
bond_dev->name, vid);
|
||||
return res;
|
||||
goto unwind;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
unwind:
|
||||
/* unwind from head to the slave that failed */
|
||||
/* unwind from the slave that failed */
|
||||
bond_for_each_slave_continue_reverse(bond, slave)
|
||||
vlan_vid_del(slave->dev, proto, vid);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user