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>
This commit is contained in:
Jakub Kicinski 2018-05-25 21:53:25 -07:00 committed by David S. Miller
parent 874fcf1de6
commit 6fd1cfc0f0

View File

@ -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;
}