Message ID | 20200130125949.409354-1-leon@kernel.org |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net] net/core: Do not clear VF index for node/port GUIDs query | expand |
From: Leon Romanovsky <leon@kernel.org> Date: Thu, 30 Jan 2020 14:59:49 +0200 > From: Leon Romanovsky <leonro@mellanox.com> > > VF numbers were assigned to node_guid and port_guid, but cleared > right before such query calls were issued. It caused to return > node/port GUIDs of VF index 0 for all VFs. > > Fixes: 30aad41721e0 ("net/core: Add support for getting VF GUIDs") > Reported-by: Adrian Chiris <adrianc@mellanox.com> > Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Looks good, applied and queued up for -stable.
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index cdad6ed532c4..09c44bf2e1d2 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -1242,6 +1242,8 @@ static noinline_for_stack int rtnl_fill_vfinfo(struct sk_buff *skb, return 0; memset(&vf_vlan_info, 0, sizeof(vf_vlan_info)); + memset(&node_guid, 0, sizeof(node_guid)); + memset(&port_guid, 0, sizeof(port_guid)); vf_mac.vf = vf_vlan.vf = @@ -1290,8 +1292,6 @@ static noinline_for_stack int rtnl_fill_vfinfo(struct sk_buff *skb, sizeof(vf_trust), &vf_trust)) goto nla_put_vf_failure; - memset(&node_guid, 0, sizeof(node_guid)); - memset(&port_guid, 0, sizeof(port_guid)); if (dev->netdev_ops->ndo_get_vf_guid && !dev->netdev_ops->ndo_get_vf_guid(dev, vfs_num, &node_guid, &port_guid)) {