]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
ixgbe: Add bounds check for x540 LED functions
authorTony Nguyen <anthony.l.nguyen@intel.com>
Wed, 9 Nov 2016 18:48:48 +0000 (10:48 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 3 Jan 2017 21:03:35 +0000 (13:03 -0800)
This is an extension of commit 003287e0f087 ("ixgbevf: Correct parameter
sent to LED function"); add bounds checking to x540 functions to ensure the
index is valid.

Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c

index e2ff823ee202f36c1edd0cd5815209765976aaf4..afc4d16b0b8b2df35783fae6685fd6ea8b2d7b32 100644 (file)
@@ -780,8 +780,10 @@ s32 ixgbe_blink_led_start_X540(struct ixgbe_hw *hw, u32 index)
        ixgbe_link_speed speed;
        bool link_up;
 
-       /*
-        * Link should be up in order for the blink bit in the LED control
+       if (index > 3)
+               return IXGBE_ERR_PARAM;
+
+       /* Link should be up in order for the blink bit in the LED control
         * register to work. Force link and speed in the MAC if link is down.
         * This will be reversed when we stop the blinking.
         */
@@ -814,6 +816,9 @@ s32 ixgbe_blink_led_stop_X540(struct ixgbe_hw *hw, u32 index)
        u32 macc_reg;
        u32 ledctl_reg;
 
+       if (index > 3)
+               return IXGBE_ERR_PARAM;
+
        /* Restore the LED to its default value. */
        ledctl_reg = IXGBE_READ_REG(hw, IXGBE_LEDCTL);
        ledctl_reg &= ~IXGBE_LED_MODE_MASK(index);