mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 08:30:52 +07:00
switchdev: fix: erasing too much of vlan obj when handling multiple vlan specs
When adding vlans with multiple IFLA_BRIDGE_VLAN_INFO attrs set in AFSPEC,
we would wipe the vlan obj struct after the first IFLA_BRIDGE_VLAN_INFO.
Fix this by only clearing what's necessary on each IFLA_BRIDGE_VLAN_INFO
iteration.
Fixes: 9e8f4a54
("switchdev: push object ID back to object structure")
Signed-off-by: Scott Feldman <sfeldma@gmail.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
740215ddb5
commit
3a7bde55a1
@ -869,7 +869,7 @@ static int switchdev_port_br_afspec(struct net_device *dev,
|
||||
err = f(dev, &vlan.obj);
|
||||
if (err)
|
||||
return err;
|
||||
memset(&vlan, 0, sizeof(vlan));
|
||||
vlan.vid_begin = 0;
|
||||
} else {
|
||||
if (vlan.vid_begin)
|
||||
return -EINVAL;
|
||||
@ -878,7 +878,7 @@ static int switchdev_port_br_afspec(struct net_device *dev,
|
||||
err = f(dev, &vlan.obj);
|
||||
if (err)
|
||||
return err;
|
||||
memset(&vlan, 0, sizeof(vlan));
|
||||
vlan.vid_begin = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user