On Mon, Sep 01, 2025 at 01:15:03PM +0200, Przemek Kitszel wrote:
> On 9/1/25 11:09, Dan Carpenter wrote:
> > Hello Qi Zhang,
> > 
> > Commit 1f7ea1cd6a37 ("ice: Enable FDIR Configure for AVF") from Mar
> > 9, 2021 (linux-next), leads to the following Smatch static checker
> > warning:
> > 
> >     drivers/net/ethernet/intel/ice/virt/fdir.c:2339 ice_vc_del_fdir_fltr()
> >     warn: missing error code here? 'kzalloc_noprof()' failed
> > 
> > drivers/net/ethernet/intel/ice/virt/fdir.c
> >      2311 int ice_vc_del_fdir_fltr(struct ice_vf *vf, u8 *msg)
> >      2312 {
> >      2313         struct virtchnl_fdir_del *fltr = (struct 
> > virtchnl_fdir_del *)msg;
> >      2314         struct virtchnl_fdir_del *stat = NULL;
> >      2315         struct virtchnl_fdir_fltr_conf *conf;
> >      2316         struct ice_vf_fdir *fdir = &vf->fdir;
> >      2317         enum virtchnl_status_code v_ret;
> >      2318         struct ice_fdir_fltr *input;
> >      2319         enum ice_fltr_ptype flow;
> >      2320         struct device *dev;
> >      2321         struct ice_pf *pf;
> >      2322         int is_tun = 0;
> >      2323         int len = 0;
> >      2324         int ret;
> >      2325
> >      2326         pf = vf->pf;
> >      2327         dev = ice_pf_to_dev(pf);
> >      2328         ret = ice_vc_fdir_param_check(vf, fltr->vsi_id);
> >      2329         if (ret) {
> >      2330                 v_ret = VIRTCHNL_STATUS_ERR_PARAM;
> >      2331                 dev_dbg(dev, "Parameter check for VF %d 
> > failed\n", vf->vf_id);
> >      2332                 goto err_exit;
> >      2333         }
> >      2334
> >      2335         stat = kzalloc(sizeof(*stat), GFP_KERNEL);
> >      2336         if (!stat) {
> >      2337                 v_ret = VIRTCHNL_STATUS_ERR_NO_MEMORY;
> > 
> > It's not clear if this is deliberate or not.  Maybe we could add a comment?
> > Here set v_ret.
> 
> thank you for the report,
> ice_vc_del_fdir_fltr() is only called from general virtchnl processing
> handler, which returns void, and only logs errors on info level, there
> is nothing to do about the error anyway
> in this case failure at kzalloc() call is on ice/kernel side, not on VF
> side, so in principle worth mentioning/blaming; but, from return code
> (we don't have much variety of those in VC, but for memory alloc failure
> there is one) VF side is knowing that error had happened exactly here
> in case of FDIR filter DEL operation, so not much value added
> 

Thanks for the explanation!

regards,
dan carpenter

Reply via email to