Commit 781a07da9bb9 ("Input: ads7846 - add dummy command register
clearing cycle") added commands to struct ser_req::xfer without
expanding it to hold them. Expand the array to the correct size.

../drivers/input/touchscreen/ads7846.c: In function 'ads7846_read12_ser':
../drivers/input/touchscreen/ads7846.c:416:18: error: array subscript 7 is 
above array bounds of 'struct spi_transfer[6]' [-Werror=array-bounds=]
  416 |         req->xfer[7].rx_buf = &req->scratch;
      |         ~~~~~~~~~^~~
../drivers/input/touchscreen/ads7846.c:334:33: note: while referencing 'xfer'
  334 |         struct spi_transfer     xfer[6];
      |                                 ^~~~

Fixes: 781a07da9bb9 ("Input: ads7846 - add dummy command register clearing 
cycle")
Signed-off-by: Kees Cook <[email protected]>
---
Cc: Dmitry Torokhov <[email protected]>
Cc: Marek Vasut <[email protected]>
Cc: Andy Shevchenko <[email protected]>
Cc: Linus Walleij <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Luca Ellero <[email protected]>
Cc: [email protected]
---
 drivers/input/touchscreen/ads7846.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/input/touchscreen/ads7846.c 
b/drivers/input/touchscreen/ads7846.c
index 75e5b2e4368d..066dc04003fa 100644
--- a/drivers/input/touchscreen/ads7846.c
+++ b/drivers/input/touchscreen/ads7846.c
@@ -331,7 +331,7 @@ struct ser_req {
        u8                      ref_off;
        u16                     scratch;
        struct spi_message      msg;
-       struct spi_transfer     xfer[6];
+       struct spi_transfer     xfer[8];
        /*
         * DMA (thus cache coherency maintenance) requires the
         * transfer buffers to live in their own cache lines.
-- 
2.34.1


Reply via email to