[dpdk-dev] [PATCH] i40e: dereference before null check

Zhang, Helin helin.zhang at intel.com
Mon Apr 18 17:55:59 CEST 2016



> -----Original Message-----
> From: Mrzyglod, DanielX T
> Sent: Tuesday, April 19, 2016 12:49 AM
> To: Chen, Jing D <jing.d.chen at intel.com>; Wu, Jingjing <jingjing.wu at intel.com>;
> Zhang, Helin <helin.zhang at intel.com>
> Cc: dev at dpdk.org; Mrzyglod, DanielX T <danielx.t.mrzyglod at intel.com>
> Subject: [PATCH] i40e: dereference before null check
> 
> Fix issue reported by Coverity.
> Coverity ID 13302:
> There may be a null pointer dereference, or else the comparison against null is
> unnecessary.
Does that really happen? I guess not.
If I am correct, I'd suggest to just remove the check of if (dev == NULL) as not needed.

/Helin

> 
> In i40evf_config_vlan_pvid: All paths that lead to this null pointer comparison
> already dereference the pointer earlier
> 
> Fixes: 2b12431b5369 ("i40e: add vlan stripping and insertion to VF")
> 
> Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod at intel.com>
> ---
>  drivers/net/i40e/i40e_ethdev_vf.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/i40e/i40e_ethdev_vf.c
> b/drivers/net/i40e/i40e_ethdev_vf.c
> index 2bce69b..0d69322 100644
> --- a/drivers/net/i40e/i40e_ethdev_vf.c
> +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> @@ -533,7 +533,7 @@ static int
>  i40evf_config_vlan_pvid(struct rte_eth_dev *dev,
>  				struct i40e_vsi_vlan_pvid_info *info)  {
> -	struct i40e_vf *vf =
> I40EVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
> +	struct i40e_vf *vf = NULL;
>  	int err;
>  	struct vf_cmd_info args;
>  	struct i40e_virtchnl_pvid_info tpid_info; @@ -542,6 +542,7 @@
> i40evf_config_vlan_pvid(struct rte_eth_dev *dev,
>  		PMD_DRV_LOG(ERR, "invalid parameters");
>  		return I40E_ERR_PARAM;
>  	}
> +	vf = I40EVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
> 
>  	memset(&tpid_info, 0, sizeof(tpid_info));
>  	tpid_info.vsi_id = vf->vsi_res->vsi_id;
> --
> 2.5.5



More information about the dev mailing list