Hi. We check the patch. > -----Original Message----- > From: Arnd Bergmann [mailto:arnd@xxxxxxxx] > Sent: Tuesday, March 13, 2018 9:09 PM > To: Takiguchi, Yasunari (SSS); Mauro Carvalho Chehab > Cc: Arnd Bergmann; Martin Sebor; Matsumoto, Toshihiko (SSS); Yonezawa, > Kota (SSS); Watanabe, Satoshi (SSS); Yamamoto, Masayuki (SSS); > linux-media@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx > Subject: [PATCH] media: cxd2880-spi: avoid out-of-bounds access warning > > The -Warray-bounds warning in gcc-8 triggers for a newly added file: > > drivers/media/spi/cxd2880-spi.c: In function 'cxd2880_write_reg': > drivers/media/spi/cxd2880-spi.c:111:3: error: 'memcpy' forming offset > [133, 258] is out of the bounds [0, 132] of object 'send_data' with type > 'u8[132]' {aka 'unsigned char[132]'} [-Werror=array-bounds] > > The problem appears to be that we have two range checks in this function, > first comparing against BURST_WRITE_MAX (128) and then comparing against > a literal '255'. The logic checking the buffer size looks at the second > one and decides that this might be the actual maximum data length. > > This is understandable behavior from the compiler, but the code is > actually safe. Since the first check is already shorter, we can remove > the loop and only leave that. To be on the safe side in case BURST_WRITE_MAX > might be increased, I'm leaving the check against U8_MAX. > > Fixes: bd24fcddf6b8 ("media: cxd2880-spi: Add support for CXD2880 SPI > interface") > Cc: Martin Sebor <msebor@xxxxxxxxx> > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > --- > drivers/media/spi/cxd2880-spi.c | 24 +++++++----------------- > 1 file changed, 7 insertions(+), 17 deletions(-) Reviewed-by: Yasunari Takiguchi <Yasunari.Takiguchi@xxxxxxxx>