lkml.org 
[lkml]   [2023]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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@intel.com>
    | Reported-by: Dan Carpenter <dan.carpenter@linaro.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

    \
     
     \ /
      Last update: 2023-10-03 12:54    [W:8.102 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site