]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
i40e: fix idx validation in config queues msg
authorLukasz Czapnik <lukasz.czapnik@intel.com>
Mon, 29 Sep 2025 14:42:43 +0000 (10:42 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Oct 2025 11:40:42 +0000 (13:40 +0200)
[ Upstream commit f1ad24c5abe1eaef69158bac1405a74b3c365115 ]

Ensure idx is within range of active/initialized TCs when iterating over
vf->ch[idx] in i40e_vc_config_queues_msg().

Fixes: c27eac48160d ("i40e: Enable ADq and create queue channel/s on VF")
Cc: stable@vger.kernel.org
Signed-off-by: Lukasz Czapnik <lukasz.czapnik@intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Tested-by: Kamakshi Nellore <nellorex.kamakshi@intel.com> (A Contingent Worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
[ Adjust context ]
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c

index bf8b2c576cdb656c4f206bae4b61acc1594403b5..4c7d47b000fff2b75631619e523ade0e256c61c4 100644 (file)
@@ -2391,7 +2391,7 @@ static int i40e_vc_config_queues_msg(struct i40e_vf *vf, u8 *msg)
                }
 
                if (vf->adq_enabled) {
-                       if (idx >= ARRAY_SIZE(vf->ch)) {
+                       if (idx >= vf->num_tc) {
                                aq_ret = I40E_ERR_NO_AVAILABLE_VSI;
                                goto error_param;
                        }
@@ -2412,7 +2412,7 @@ static int i40e_vc_config_queues_msg(struct i40e_vf *vf, u8 *msg)
                 * to its appropriate VSIs based on TC mapping
                 */
                if (vf->adq_enabled) {
-                       if (idx >= ARRAY_SIZE(vf->ch)) {
+                       if (idx >= vf->num_tc) {
                                aq_ret = I40E_ERR_NO_AVAILABLE_VSI;
                                goto error_param;
                        }