diff mbox series

[net] i40e: fix the calculation of VFs mac addresses

Message ID 20171107163259.18639-1-nicolas.dichtel@6wind.com
State Awaiting Upstream, archived
Delegated to: David Miller
Headers show
Series [net] i40e: fix the calculation of VFs mac addresses | expand

Commit Message

Nicolas Dichtel Nov. 7, 2017, 4:32 p.m. UTC
From: Zijie Pan <zijie.pan@6wind.com>

num_mac should be increased only after the call to i40e_add_mac_filter().

Fixes: 5f527ba962e2 ("i40e: Limit the number of MAC and VLAN addresses that can be added for VFs")
CC: Anjali Singhai Jain <anjali.singhai@intel.com>
CC: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Zijie Pan <zijie.pan@6wind.com>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
---
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

Comments

Tushar Dave Nov. 7, 2017, 6:20 p.m. UTC | #1
On 11/07/2017 08:32 AM, Nicolas Dichtel wrote:
> From: Zijie Pan <zijie.pan@6wind.com>
> 
> num_mac should be increased only after the call to i40e_add_mac_filter().
> 
> Fixes: 5f527ba962e2 ("i40e: Limit the number of MAC and VLAN addresses that can be added for VFs")
> CC: Anjali Singhai Jain <anjali.singhai@intel.com>
> CC: Andrew Bowers <andrewx.bowers@intel.com>
> Signed-off-by: Zijie Pan <zijie.pan@6wind.com>
> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
> ---
>   drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 21 +++++++++++----------
>   1 file changed, 11 insertions(+), 10 deletions(-)
> 
Thanks for fix.
Reviewed-by: Tushar Dave <tushar.n.dave@oracle.com>

> diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
> index 4d1e670f490e..2d1f3dbe67f1 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
> @@ -2115,18 +2115,19 @@ static int i40e_vc_add_mac_addr_msg(struct i40e_vf *vf, u8 *msg, u16 msglen)
>   		struct i40e_mac_filter *f;
>   
>   		f = i40e_find_mac(vsi, al->list[i].addr);
> -		if (!f)
> +		if (!f) {
>   			f = i40e_add_mac_filter(vsi, al->list[i].addr);
>   
> -		if (!f) {
> -			dev_err(&pf->pdev->dev,
> -				"Unable to add MAC filter %pM for VF %d\n",
> -				 al->list[i].addr, vf->vf_id);
> -			ret = I40E_ERR_PARAM;
> -			spin_unlock_bh(&vsi->mac_filter_hash_lock);
> -			goto error_param;
> -		} else {
> -			vf->num_mac++;
> +			if (!f) {
> +				dev_err(&pf->pdev->dev,
> +					"Unable to add MAC filter %pM for VF %d\n",
> +					al->list[i].addr, vf->vf_id);
> +				ret = I40E_ERR_PARAM;
> +				spin_unlock_bh(&vsi->mac_filter_hash_lock);
> +				goto error_param;
> +			} else {
> +				vf->num_mac++;
> +			}
>   		}
>   	}
>   	spin_unlock_bh(&vsi->mac_filter_hash_lock);
>
Kirsher, Jeffrey T Nov. 7, 2017, 8:09 p.m. UTC | #2
> -----Original Message-----

> From: Tushar Dave [mailto:tushar.n.dave@oracle.com]

> Sent: Tuesday, November 7, 2017 10:20

> To: Nicolas Dichtel <nicolas.dichtel@6wind.com>; Kirsher, Jeffrey T

> <jeffrey.t.kirsher@intel.com>

> Cc: davem@davemloft.net; netdev@vger.kernel.org; Zijie Pan

> <zijie.pan@6wind.com>; Singhai, Anjali <anjali.singhai@intel.com>; Bowers,

> AndrewX <andrewx.bowers@intel.com>

> Subject: Re: [PATCH net] i40e: fix the calculation of VFs mac addresses

> 

> 

> 

> On 11/07/2017 08:32 AM, Nicolas Dichtel wrote:

> > From: Zijie Pan <zijie.pan@6wind.com>

> >

> > num_mac should be increased only after the call to i40e_add_mac_filter().

> >

> > Fixes: 5f527ba962e2 ("i40e: Limit the number of MAC and VLAN addresses

> that can be added for VFs")

> > CC: Anjali Singhai Jain <anjali.singhai@intel.com>

> > CC: Andrew Bowers <andrewx.bowers@intel.com>

> > Signed-off-by: Zijie Pan <zijie.pan@6wind.com>

> > Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>

> > ---

> >   drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 21 +++++++++++----------

> >   1 file changed, 11 insertions(+), 10 deletions(-)

> >

> Thanks for fix.

> Reviewed-by: Tushar Dave <tushar.n.dave@oracle.com>


Dave, I have picked this up and will have it go through my net-queue tree.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index 4d1e670f490e..2d1f3dbe67f1 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -2115,18 +2115,19 @@  static int i40e_vc_add_mac_addr_msg(struct i40e_vf *vf, u8 *msg, u16 msglen)
 		struct i40e_mac_filter *f;
 
 		f = i40e_find_mac(vsi, al->list[i].addr);
-		if (!f)
+		if (!f) {
 			f = i40e_add_mac_filter(vsi, al->list[i].addr);
 
-		if (!f) {
-			dev_err(&pf->pdev->dev,
-				"Unable to add MAC filter %pM for VF %d\n",
-				 al->list[i].addr, vf->vf_id);
-			ret = I40E_ERR_PARAM;
-			spin_unlock_bh(&vsi->mac_filter_hash_lock);
-			goto error_param;
-		} else {
-			vf->num_mac++;
+			if (!f) {
+				dev_err(&pf->pdev->dev,
+					"Unable to add MAC filter %pM for VF %d\n",
+					al->list[i].addr, vf->vf_id);
+				ret = I40E_ERR_PARAM;
+				spin_unlock_bh(&vsi->mac_filter_hash_lock);
+				goto error_param;
+			} else {
+				vf->num_mac++;
+			}
 		}
 	}
 	spin_unlock_bh(&vsi->mac_filter_hash_lock);