From: Scott Feldman <sfel...@gmail.com>

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 <sfel...@gmail.com>
Acked-by: Jiri Pirko <j...@mellanox.com>
---
v3->v4: rebase sync
v2->v3: no change
v1->v2: add Jiri's Acked-by

 net/switchdev/switchdev.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/switchdev/switchdev.c b/net/switchdev/switchdev.c
index 1eb76956..8d3e6c3 100644
--- a/net/switchdev/switchdev.c
+++ b/net/switchdev/switchdev.c
@@ -866,7 +866,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;
@@ -875,7 +875,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;
                }
        }
 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to