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