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 <kees@xxxxxxxxxx> --- Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Cc: Marek Vasut <marex@xxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Luca Ellero <l.ellero@xxxxxxx> Cc: linux-input@xxxxxxxxxxxxxxx --- 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