mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-17 12:08:43 +00:00
bridge: Call vlan_vid_del for all vids at nbp_vlan_flush
We should call vlan_vid_del for all vids at nbp_vlan_flush to prevent vid_info->refcount from being leaked when detaching a bridge port. Signed-off-by: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
192368372d
commit
dbbaf949bc
1 changed files with 4 additions and 0 deletions
|
@ -390,6 +390,7 @@ int nbp_vlan_delete(struct net_bridge_port *port, u16 vid)
|
||||||
void nbp_vlan_flush(struct net_bridge_port *port)
|
void nbp_vlan_flush(struct net_bridge_port *port)
|
||||||
{
|
{
|
||||||
struct net_port_vlans *pv;
|
struct net_port_vlans *pv;
|
||||||
|
u16 vid;
|
||||||
|
|
||||||
ASSERT_RTNL();
|
ASSERT_RTNL();
|
||||||
|
|
||||||
|
@ -397,6 +398,9 @@ void nbp_vlan_flush(struct net_bridge_port *port)
|
||||||
if (!pv)
|
if (!pv)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
for_each_set_bit(vid, pv->vlan_bitmap, VLAN_N_VID)
|
||||||
|
vlan_vid_del(port->dev, htons(ETH_P_8021Q), vid);
|
||||||
|
|
||||||
__vlan_flush(pv);
|
__vlan_flush(pv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue