spi: bcm-qspi: Fix use after free in bcm_qspi_probe() in error path
authorFlorian Fainelli <f.fainelli@gmail.com>
Wed, 11 Oct 2017 21:59:22 +0000 (14:59 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Nov 2017 08:49:13 +0000 (09:49 +0100)
commitd8e5f2f8d507ac717eebef87a3df95ed5c6927b6
tree464e6a373940f2f547f89f66f807346dd30d2aa2
parent1dfea1eeac6499cb2c95d19cd368f6d80998c0d3
spi: bcm-qspi: Fix use after free in bcm_qspi_probe() in error path

commit c0368e4db4a3e8a3dce40f3f621c06e14c560d79 upstream.

There was an inversion in how the error path in bcm_qspi_probe() is done
which would make us trip over a KASAN use-after-free report. Turns out
that qspi->dev_ids does not get allocated until later in the probe
process. Fix this by introducing a new lable: qspi_resource_err which
takes care of cleaning up the SPI master instance.

Fixes: fa236a7ef240 ("spi: bcm-qspi: Add Broadcom MSPI driver")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/spi/spi-bcm-qspi.c