Merge branch 'bridge_vlan_fixes'
Nikolay Aleksandrov says: ==================== bridge: vlan: failure path and comment fixes This is a set from Ido which takes care of one failure path error in nbp_vlan_init (patch 1) and a few comment errors (patch 2). I must admit I didn't expect the port init continues after a vlan init failure but should've checked to make sure. Thanks to Ido for catching these! ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
21086b990b
@ -180,11 +180,11 @@ static void br_vlan_put_master(struct net_bridge_vlan *masterv)
|
|||||||
* devices. There are four possible calls to this function in terms of the
|
* devices. There are four possible calls to this function in terms of the
|
||||||
* vlan entry type:
|
* vlan entry type:
|
||||||
* 1. vlan is being added on a port (no master flags, global entry exists)
|
* 1. vlan is being added on a port (no master flags, global entry exists)
|
||||||
* 2. vlan is being added on a bridge (both master and brvlan flags)
|
* 2. vlan is being added on a bridge (both master and brentry flags)
|
||||||
* 3. vlan is being added on a port, but a global entry didn't exist which
|
* 3. vlan is being added on a port, but a global entry didn't exist which
|
||||||
* is being created right now (master flag set, brvlan flag unset), the
|
* is being created right now (master flag set, brentry flag unset), the
|
||||||
* global entry is used for global per-vlan features, but not for filtering
|
* global entry is used for global per-vlan features, but not for filtering
|
||||||
* 4. same as 3 but with both master and brvlan flags set so the entry
|
* 4. same as 3 but with both master and brentry flags set so the entry
|
||||||
* will be used for filtering in both the port and the bridge
|
* will be used for filtering in both the port and the bridge
|
||||||
*/
|
*/
|
||||||
static int __vlan_add(struct net_bridge_vlan *v, u16 flags)
|
static int __vlan_add(struct net_bridge_vlan *v, u16 flags)
|
||||||
@ -914,6 +914,8 @@ out:
|
|||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
err_vlan_add:
|
err_vlan_add:
|
||||||
|
RCU_INIT_POINTER(p->vlgrp, NULL);
|
||||||
|
synchronize_rcu();
|
||||||
rhashtable_destroy(&vg->vlan_hash);
|
rhashtable_destroy(&vg->vlan_hash);
|
||||||
err_rhtbl:
|
err_rhtbl:
|
||||||
kfree(vg);
|
kfree(vg);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user