thunderbolt: Fix off by one in tb_port_find_retimer()
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 29 Mar 2021 06:08:01 +0000 (09:08 +0300)
committerMika Westerberg <mika.westerberg@linux.intel.com>
Tue, 30 Mar 2021 10:38:10 +0000 (13:38 +0300)
This array uses 1-based indexing so it corrupts memory one element
beyond of the array.  Fix it by making the array one element larger.

Fixes: dacb12877d92 ("thunderbolt: Add support for on-board retimers")
Cc: stable@vger.kernel.org
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/thunderbolt/retimer.c

index 7a5d616..c44fad2 100644 (file)
@@ -406,7 +406,7 @@ static struct tb_retimer *tb_port_find_retimer(struct tb_port *port, u8 index)
  */
 int tb_retimer_scan(struct tb_port *port)
 {
-       u32 status[TB_MAX_RETIMER_INDEX] = {};
+       u32 status[TB_MAX_RETIMER_INDEX + 1] = {};
        int ret, i, last_idx = 0;
 
        if (!port->cap_usb4)