]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
i40e: fix idx validation in config queues msg
authorLukasz Czapnik <lukasz.czapnik@intel.com>
Wed, 13 Aug 2025 10:45:13 +0000 (12:45 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Oct 2025 11:48:35 +0000 (13:48 +0200)
commit f1ad24c5abe1eaef69158bac1405a74b3c365115 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c

index 4b8beb2a0e85a38e4d5284596708ba963c74456a..ae1a3701e60410c40a1266b93fb584e01a46e68a 100644 (file)
@@ -2398,7 +2398,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 = -ENODEV;
                                goto error_param;
                        }
@@ -2419,7 +2419,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 = -ENODEV;
                                goto error_param;
                        }