]> www.infradead.org Git - users/jedix/linux-maple.git/commit
thunderbolt: Fix double free of drom buffer
authorAndreas Noever <andreas.noever@gmail.com>
Sun, 10 Apr 2016 10:48:27 +0000 (12:48 +0200)
committerDhaval Giani <dhaval.giani@oracle.com>
Fri, 20 Jan 2017 22:21:53 +0000 (17:21 -0500)
commitcae7d8ae6d60e1d3acf169e638207367f5f20de3
tree41f1ba5c1843d3a932f18931ca2741ee5f686db9
parent18dca5995e3341e7deb6a5116eda03fba0e9ee12
thunderbolt: Fix double free of drom buffer

Orabug: 25256924

[ Upstream commit 2ffa9a5d76a75abbc1f95c17959fced666095bdd ]

If tb_drom_read() fails, sw->drom is freed but not set to NULL.  sw->drom
is then freed again in the error path of tb_switch_alloc().

The bug can be triggered by unplugging a thunderbolt device shortly after
it is detected by the thunderbolt driver.

Clear sw->drom if tb_drom_read() fails.

[bhelgaas: add Fixes:, stable versions of interest]
Fixes: 343fcb8c70d7 ("thunderbolt: Fix nontrivial endpoint devices.")
Signed-off-by: Andreas Noever <andreas.noever@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
CC: stable@vger.kernel.org # v3.17+
CC: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
(cherry picked from commit 1dab35a8a62e5e7c49bf89b844b6efbdebdd34c1)
Signed-off-by: Dhaval Giani <dhaval.giani@oracle.com>
drivers/thunderbolt/eeprom.c