]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
spi: fsl-espi: avoid processing uninitalized data on error
authorArnd Bergmann <arnd@arndb.de>
Tue, 25 Oct 2016 20:57:10 +0000 (22:57 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Nov 2016 15:38:45 +0000 (16:38 +0100)
commit 5c0ba57744b1422d528f19430dd66d6803cea86f upstream.

When we get a spurious interrupt in fsl_espi_irq, we end up
processing four uninitalized bytes of data, as shown in this
warning message:

   drivers/spi/spi-fsl-espi.c: In function 'fsl_espi_irq':
   drivers/spi/spi-fsl-espi.c:462:4: warning: 'rx_data' may be used uninitialized in this function [-Wmaybe-uninitialized]

This adds another check so we skip the data in this case.

Fixes: 6319a68011b8 ("spi/fsl-espi: avoid infinite loops on fsl_espi_cpu_irq()")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/spi/spi-fsl-espi.c

index 8d85a3c343dab635811cf4b6a871a841977fa09f..3f3561371410157e151d9ad2bcef9868392cef08 100644 (file)
@@ -581,7 +581,7 @@ void fsl_espi_cpu_irq(struct mpc8xxx_spi *mspi, u32 events)
 
                mspi->len -= rx_nr_bytes;
 
-               if (mspi->rx)
+               if (rx_nr_bytes && mspi->rx)
                        mspi->get_rx(rx_data, mspi);
        }