[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d54a43ad-0044-465c-92f4-2ffd46ccf983@kadam.mountain>
Date: Tue, 3 Oct 2023 13:53:25 +0300
From: Dan Carpenter <dan.carpenter@...aro.org>
To: oe-kbuild@...ts.linux.dev, David Lechner <dlechner@...libre.com>,
linux-iio@...r.kernel.org, devicetree@...r.kernel.org,
linux-staging@...ts.linux.dev
Cc: lkp@...el.com, oe-kbuild-all@...ts.linux.dev,
David Lechner <david@...hnology.com>,
Jonathan Cameron <jic23@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzk@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Michael Hennerich <Michael.Hennerich@...log.com>,
Nuno Sá <nuno.sa@...log.com>,
Axel Haslam <ahaslam@...libre.com>,
Philip Molloy <pmolloy@...libre.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 26/27] staging: iio: resolver: ad2s1210: implement
fault events
Hi David,
kernel test robot noticed the following build warnings:
url: https://github.com/intel-lab-lkp/linux/commits/David-Lechner/dt-bindings-iio-resolver-add-devicetree-bindings-for-ad2s1210/20230930-014031
base: 5e99f692d4e32e3250ab18d511894ca797407aec
patch link: https://lore.kernel.org/r/20230929-ad2s1210-mainline-v3-26-fa4364281745%40baylibre.com
patch subject: [PATCH v3 26/27] staging: iio: resolver: ad2s1210: implement fault events
config: x86_64-randconfig-161-20231002 (https://download.01.org/0day-ci/archive/20231003/202310031839.tKR53HoP-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231003/202310031839.tKR53HoP-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Reported-by: Dan Carpenter <dan.carpenter@...aro.org>
| Closes: https://lore.kernel.org/r/202310031839.tKR53HoP-lkp@intel.com/
smatch warnings:
drivers/staging/iio/resolver/ad2s1210.c:436 ad2s1210_single_conversion() error: buffer overflow 'st->rx' 2 <= 2
vim +436 drivers/staging/iio/resolver/ad2s1210.c
ecf16f4922f691 David Lechner 2023-09-29 391 static int ad2s1210_single_conversion(struct iio_dev *indio_dev,
29148543c52146 Jonathan Cameron 2011-10-05 392 struct iio_chan_spec const *chan,
e9336a85ceb885 David Lechner 2023-09-29 393 int *val)
817e5c65c511d4 Graf Yang 2010-10-27 394 {
ecf16f4922f691 David Lechner 2023-09-29 395 struct ad2s1210_state *st = iio_priv(indio_dev);
ecf16f4922f691 David Lechner 2023-09-29 396 s64 timestamp;
69cc7fbdcdf2e3 David Lechner 2023-09-29 397 int ret;
817e5c65c511d4 Graf Yang 2010-10-27 398
817e5c65c511d4 Graf Yang 2010-10-27 399 mutex_lock(&st->lock);
69cc7fbdcdf2e3 David Lechner 2023-09-29 400 gpiod_set_value(st->sample_gpio, 1);
ecf16f4922f691 David Lechner 2023-09-29 401 timestamp = iio_get_time_ns(indio_dev);
817e5c65c511d4 Graf Yang 2010-10-27 402 /* delay (6 * tck + 20) nano seconds */
817e5c65c511d4 Graf Yang 2010-10-27 403 udelay(1);
817e5c65c511d4 Graf Yang 2010-10-27 404
29148543c52146 Jonathan Cameron 2011-10-05 405 switch (chan->type) {
29148543c52146 Jonathan Cameron 2011-10-05 406 case IIO_ANGL:
69cc7fbdcdf2e3 David Lechner 2023-09-29 407 ret = ad2s1210_set_mode(st, MOD_POS);
29148543c52146 Jonathan Cameron 2011-10-05 408 break;
29148543c52146 Jonathan Cameron 2011-10-05 409 case IIO_ANGL_VEL:
69cc7fbdcdf2e3 David Lechner 2023-09-29 410 ret = ad2s1210_set_mode(st, MOD_VEL);
29148543c52146 Jonathan Cameron 2011-10-05 411 break;
29148543c52146 Jonathan Cameron 2011-10-05 412 default:
29148543c52146 Jonathan Cameron 2011-10-05 413 ret = -EINVAL;
29148543c52146 Jonathan Cameron 2011-10-05 414 break;
29148543c52146 Jonathan Cameron 2011-10-05 415 }
29148543c52146 Jonathan Cameron 2011-10-05 416 if (ret < 0)
29148543c52146 Jonathan Cameron 2011-10-05 417 goto error_ret;
ecf16f4922f691 David Lechner 2023-09-29 418 ret = spi_read(st->sdev, &st->sample, 3);
29148543c52146 Jonathan Cameron 2011-10-05 419 if (ret < 0)
817e5c65c511d4 Graf Yang 2010-10-27 420 goto error_ret;
29148543c52146 Jonathan Cameron 2011-10-05 421
29148543c52146 Jonathan Cameron 2011-10-05 422 switch (chan->type) {
29148543c52146 Jonathan Cameron 2011-10-05 423 case IIO_ANGL:
ecf16f4922f691 David Lechner 2023-09-29 424 *val = be16_to_cpu(st->sample.raw);
29148543c52146 Jonathan Cameron 2011-10-05 425 ret = IIO_VAL_INT;
29148543c52146 Jonathan Cameron 2011-10-05 426 break;
29148543c52146 Jonathan Cameron 2011-10-05 427 case IIO_ANGL_VEL:
ecf16f4922f691 David Lechner 2023-09-29 428 *val = (s16)be16_to_cpu(st->sample.raw);
29148543c52146 Jonathan Cameron 2011-10-05 429 ret = IIO_VAL_INT;
29148543c52146 Jonathan Cameron 2011-10-05 430 break;
29148543c52146 Jonathan Cameron 2011-10-05 431 default:
5e99f692d4e32e David Lechner 2023-09-21 432 ret = -EINVAL;
5e99f692d4e32e David Lechner 2023-09-21 433 break;
29148543c52146 Jonathan Cameron 2011-10-05 434 }
29148543c52146 Jonathan Cameron 2011-10-05 435
ecf16f4922f691 David Lechner 2023-09-29 @436 ad2s1210_push_events(indio_dev, st->rx[2], timestamp);
^^^^^^
Apparently ->rx only has 2 elements.
ecf16f4922f691 David Lechner 2023-09-29 437
817e5c65c511d4 Graf Yang 2010-10-27 438 error_ret:
69cc7fbdcdf2e3 David Lechner 2023-09-29 439 gpiod_set_value(st->sample_gpio, 0);
817e5c65c511d4 Graf Yang 2010-10-27 440 /* delay (2 * tck + 20) nano seconds */
817e5c65c511d4 Graf Yang 2010-10-27 441 udelay(1);
817e5c65c511d4 Graf Yang 2010-10-27 442 mutex_unlock(&st->lock);
29148543c52146 Jonathan Cameron 2011-10-05 443 return ret;
817e5c65c511d4 Graf Yang 2010-10-27 444 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists