From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Samudrala, Sridhar" Subject: Re: [PATCH v2 net-next] failover: Add missing check to validate 'slave_dev' in net_failover_slave_unregister Date: Tue, 4 Sep 2018 09:36:49 -0700 Message-ID: <463f089f-f613-a90b-1978-9c903efd6834@intel.com> References: <1535771205-156540-1-git-send-email-yuehaibing@huawei.com> <1536029786-21710-1-git-send-email-yuehaibing@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, kernel-janitors@vger.kernel.org To: YueHaibing , "David S. Miller" , Stephen Hemminger , Dan Carpenter , Alexander Duyck , Jeff Kirsher , Liran Alon , Joao Martins Return-path: Received: from mga02.intel.com ([134.134.136.20]:64687 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727734AbeIDVCx (ORCPT ); Tue, 4 Sep 2018 17:02:53 -0400 In-Reply-To: <1536029786-21710-1-git-send-email-yuehaibing@huawei.com> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 9/3/2018 7:56 PM, YueHaibing wrote: > Fixes gcc '-Wunused-but-set-variable' warning: > > drivers/net/net_failover.c: In function 'net_failover_slave_unregister': > drivers/net/net_failover.c:598:35: warning: > variable 'primary_dev' set but not used [-Wunused-but-set-variable] > > There should check the validity of 'slave_dev'. > > Fixes: cfc80d9a1163 ("net: Introduce net_failover driver") > > Signed-off-by: YueHaibing Acked-by: Sridhar Samudrala > --- > v2: use WARN_ON_ONCE as Liran Alon suggested > --- > drivers/net/net_failover.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/net/net_failover.c b/drivers/net/net_failover.c > index 7ae1856..5a749dc 100644 > --- a/drivers/net/net_failover.c > +++ b/drivers/net/net_failover.c > @@ -603,6 +603,9 @@ static int net_failover_slave_unregister(struct net_device *slave_dev, > primary_dev = rtnl_dereference(nfo_info->primary_dev); > standby_dev = rtnl_dereference(nfo_info->standby_dev); > > + if (WARN_ON_ONCE(slave_dev != primary_dev && slave_dev != standby_dev)) > + return -ENODEV; > + > vlan_vids_del_by_dev(slave_dev, failover_dev); > dev_uc_unsync(slave_dev, failover_dev); > dev_mc_unsync(slave_dev, failover_dev); >