summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
diff options
context:
space:
mode:
authorJakub Kicinski2018-05-26 06:53:25 +0200
committerDavid S. Miller2018-05-29 15:49:15 +0200
commit6fd1cfc0f0a5fec92cce8a5c3fbfd7fd82b82160 (patch)
tree7fef6471f5fd2e4941ad52873a62ad84b3eccee2 /drivers/net/ethernet/netronome/nfp/nfp_net_common.c
parentMerge tag 'mlx5e-updates-2018-05-25' of git://git.kernel.org/pub/scm/linux/ke... (diff)
downloadkernel-qcow2-linux-6fd1cfc0f0a5fec92cce8a5c3fbfd7fd82b82160.tar.gz
kernel-qcow2-linux-6fd1cfc0f0a5fec92cce8a5c3fbfd7fd82b82160.tar.xz
kernel-qcow2-linux-6fd1cfc0f0a5fec92cce8a5c3fbfd7fd82b82160.zip
nfp: return -EOPNOTSUPP from .ndo_get_phys_port_name for VFs
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>
Diffstat (limited to 'drivers/net/ethernet/netronome/nfp/nfp_net_common.c')
-rw-r--r--drivers/net/ethernet/netronome/nfp/nfp_net_common.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
index eea11e881bf5..1f572896d1ee 100644
--- 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_device *netdev, char *name, size_t len)
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;
}