ice: fix potential infinite loop
authorColin Ian King <colin.king@canonical.com>
Fri, 2 Aug 2019 15:52:17 +0000 (16:52 +0100)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 27 Aug 2019 06:30:26 +0000 (23:30 -0700)
The loop counter of a for-loop is a u8 however this is being compared
to an int upper bound and this can lead to an infinite loop if the
upper bound is greater than 255 since the loop counter will wrap back
to zero. Fix this potential issue by making the loop counter an int.

Addresses-Coverity: ("Infinite loop")
Fixes: c7aeb4d1b9bf ("ice: Disable VFs until reset is completed")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_main.c

index 67cbebe1ff3f25df795f4204323ebf10e8cad5b8..0398c86226f00cca75186425610bcedb48f82fb7 100644 (file)
@@ -477,7 +477,7 @@ static void
 ice_prepare_for_reset(struct ice_pf *pf)
 {
        struct ice_hw *hw = &pf->hw;
-       u8 i;
+       int i;
 
        /* already prepared for reset */
        if (test_bit(__ICE_PREPARED_FOR_RESET, pf->state))