From: Jakub Kicinski <jakub.kicinski@netronome.com>
Date: Fri, 25 May 2018 21:53:25 -0700
Subject: nfp: return -EOPNOTSUPP from .ndo_get_phys_port_name for VFs
Patch-mainline: v4.18-rc1
Git-commit: 6fd1cfc0f0a5fec92cce8a5c3fbfd7fd82b82160
References: bsc#1109837
After recent change we started returning 0 from
ndo_get_phys_port_name for VFs. The name parameter for
ndo_get_phys_port_name is not initialized by the stack so
this can lead to a crash. We should have kept returning
-EOPNOTSUPP in the first place.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
--- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
+++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
@@ -3286,11 +3286,12 @@ nfp_net_get_phys_port_name(struct net_de
if (nn->port)
return nfp_port_get_phys_port_name(netdev, name, len);
- if (!nn->dp.is_vf) {
- n = snprintf(name, len, "%d", nn->id);
- if (n >= len)
- return -EINVAL;
- }
+ if (nn->dp.is_vf)
+ return -EOPNOTSUPP;
+
+ n = snprintf(name, len, "%d", nn->id);
+ if (n >= len)
+ return -EINVAL;
return 0;
}