Skip to content

Commit

Permalink
switchdev: fix: erasing too much of vlan obj when handling multiple v…
Browse files Browse the repository at this point in the history
…lan 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: 9e8f4a5 ("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>
  • Loading branch information
Scott Feldman authored and David S. Miller committed Oct 30, 2015
1 parent 740215d commit 3a7bde5
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions net/switchdev/switchdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
}
}

Expand Down

0 comments on commit 3a7bde5

Please sign in to comment.