diff options
author | Jakub Kicinski <jakub.kicinski@netronome.com> | 2018-05-25 21:53:25 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-05-29 09:49:15 -0400 |
commit | 6fd1cfc0f0a5fec92cce8a5c3fbfd7fd82b82160 (patch) | |
tree | 7fef6471f5fd2e4941ad52873a62ad84b3eccee2 /drivers/net | |
parent | Merge tag 'mlx5e-updates-2018-05-25' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux (diff) | |
download | linux-dev-6fd1cfc0f0a5fec92cce8a5c3fbfd7fd82b82160.tar.xz linux-dev-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')
-rw-r--r-- | drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 11 |
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; } |