]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ice: Check VF VSI Pointer Value in ice_vc_add_fdir_fltr()
authorXuanqiang Luo <luoxuanqiang@kylinos.cn>
Fri, 25 Apr 2025 22:26:32 +0000 (15:26 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 May 2025 07:44:00 +0000 (09:44 +0200)
[ Upstream commit 425c5f266b2edeee0ce16fedd8466410cdcfcfe3 ]

As mentioned in the commit baeb705fd6a7 ("ice: always check VF VSI
pointer values"), we need to perform a null pointer check on the return
value of ice_get_vf_vsi() before using it.

Fixes: 6ebbe97a4881 ("ice: Add a per-VF limit on number of FDIR filters")
Signed-off-by: Xuanqiang Luo <luoxuanqiang@kylinos.cn>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Link: https://patch.msgid.link/20250425222636.3188441-3-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c

index 3ca5f44dea26eb36c6f7d76074dc2b41df0139f2..88c1acd5e8f05d78f4f774cb779ba243e078f2e1 100644 (file)
@@ -1824,6 +1824,11 @@ int ice_vc_add_fdir_fltr(struct ice_vf *vf, u8 *msg)
        pf = vf->pf;
        dev = ice_pf_to_dev(pf);
        vf_vsi = ice_get_vf_vsi(vf);
+       if (!vf_vsi) {
+               dev_err(dev, "Can not get FDIR vf_vsi for VF %u\n", vf->vf_id);
+               v_ret = VIRTCHNL_STATUS_ERR_PARAM;
+               goto err_exit;
+       }
 
 #define ICE_VF_MAX_FDIR_FILTERS        128
        if (!ice_fdir_num_avail_fltr(&pf->hw, vf_vsi) ||