[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <02699364973B424C83A42A84B04FDA85484BC2@JPYOKXMS113.jp.sony.com>
Date: Tue, 20 Mar 2018 03:47:57 +0000
From: <Yasunari.Takiguchi@...y.com>
To: <arnd@...db.de>, <mchehab@...nel.org>
CC: <msebor@...il.com>, <Toshihiko.Matsumoto@...y.com>,
<Kota.Yonezawa@...y.com>, <Satoshi.C.Watanabe@...y.com>,
<Masayuki.Yamamoto@...y.com>, <linux-media@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <Yasunari.Takiguchi@...y.com>
Subject: RE: [PATCH] media: cxd2880-spi: avoid out-of-bounds access warning
Hi.
We check the patch.
> -----Original Message-----
> From: Arnd Bergmann [mailto:arnd@...db.de]
> 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@...r.kernel.org; linux-kernel@...r.kernel.org
> 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@...il.com>
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
> ---
> drivers/media/spi/cxd2880-spi.c | 24 +++++++-----------------
> 1 file changed, 7 insertions(+), 17 deletions(-)
Reviewed-by: Yasunari Takiguchi <Yasunari.Takiguchi@...y.com>
Powered by blists - more mailing lists