| From foo@baz Thu 06 Feb 2020 06:50:11 AM GMT |
| From: Leon Romanovsky <leonro@mellanox.com> |
| Date: Thu, 30 Jan 2020 14:59:49 +0200 |
| Subject: net/core: Do not clear VF index for node/port GUIDs query |
| |
| From: Leon Romanovsky <leonro@mellanox.com> |
| |
| [ Upstream commit 9fbf082f569980ddd7cab348e0a118678db0e47e ] |
| |
| 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> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/core/rtnetlink.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/net/core/rtnetlink.c |
| +++ b/net/core/rtnetlink.c |
| @@ -1241,6 +1241,8 @@ static noinline_for_stack int rtnl_fill_ |
| 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 = |
| @@ -1289,8 +1291,6 @@ static noinline_for_stack int rtnl_fill_ |
| 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)) { |