thunderbolt: tb: fix use after free in tb_activate_pcie_devices
authorGustavo A. R. Silva <garsilva@embeddedor.com>
Sun, 5 Nov 2017 04:52:54 +0000 (23:52 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Dec 2017 09:10:24 +0000 (10:10 +0100)
[ Upstream commit a2e373438f72391493a4425efc1b82030b6b4fd5 ]

Add a ̣̣continue statement in order to avoid using a previously
free'd pointer tunnel in list_add.

Addresses-Coverity-ID: 1415336
Fixes: 9d3cce0b6136 ("thunderbolt: Introduce thunderbolt bus and connection manager")
Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/thunderbolt/tb.c

index d674e06..1424581 100644 (file)
@@ -225,6 +225,7 @@ static void tb_activate_pcie_devices(struct tb *tb)
                        tb_port_info(up_port,
                                     "PCIe tunnel activation failed, aborting\n");
                        tb_pci_free(tunnel);
+                       continue;
                }
 
                list_add(&tunnel->list, &tcm->tunnel_list);