From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jakub Kicinski Subject: [PATCH net-next 01/14] nfp: return -EOPNOTSUPP from .ndo_get_phys_port_name for VFs Date: Fri, 25 May 2018 21:53:25 -0700 Message-ID: <20180526045338.10993-2-jakub.kicinski@netronome.com> References: <20180526045338.10993-1-jakub.kicinski@netronome.com> Cc: jiri@resnulli.us, xiyou.wangcong@gmail.com, john.fastabend@gmail.com, netdev@vger.kernel.org, oss-drivers@netronome.com, alexei.starovoitov@gmail.com, nogahf@mellanox.com, yuvalm@mellanox.com, gerlitz.or@gmail.com, Jakub Kicinski To: davem@davemloft.net Return-path: Received: from mail-qk0-f195.google.com ([209.85.220.195]:39513 "EHLO mail-qk0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932181AbeEZEz0 (ORCPT ); Sat, 26 May 2018 00:55:26 -0400 Received: by mail-qk0-f195.google.com with SMTP id z75-v6so5648061qkb.6 for ; Fri, 25 May 2018 21:55:26 -0700 (PDT) In-Reply-To: <20180526045338.10993-1-jakub.kicinski@netronome.com> Sender: netdev-owner@vger.kernel.org List-ID: 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 --- drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 11 ++++++----- 1 file 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; } -- 2.17.0