From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: drivers/iio/industrialio-gts-helper.c:394 iio_gts_build_avail_time_table() warn: double check that we're allocating correct size: 4 vs 8
Date: Tue, 6 Jun 2023 12:10:30 +0800 [thread overview]
Message-ID: <202306061239.AIaDBsVg-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>, Matti Vaittinen <mazziesaccount@gmail.com>
CC: Jonathan Cameron <Jonathan.Cameron@huawei.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f8dba31b0a826e691949cd4fdfa5c30defaac8c5
commit: e65065132fa6d9e1fd3b7418eae5215e3b7bf6c7 iio: gts-helpers: fix integration time units
date: 3 weeks ago
:::::: branch date: 13 hours ago
:::::: commit date: 3 weeks ago
config: x86_64-randconfig-m001-20230605 (https://download.01.org/0day-ci/archive/20230606/202306061239.AIaDBsVg-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202306061239.AIaDBsVg-lkp@intel.com/
New smatch warnings:
drivers/iio/industrialio-gts-helper.c:394 iio_gts_build_avail_time_table() warn: double check that we're allocating correct size: 4 vs 8
Old smatch warnings:
drivers/iio/industrialio-gts-helper.c:246 gain_to_scaletables() warn: double check that we're allocating correct size: 4 vs 8
drivers/iio/industrialio-gts-helper.c:269 gain_to_scaletables() error: uninitialized symbol 'ret'.
drivers/iio/industrialio-gts-helper.c:302 iio_gts_build_avail_scale_table() warn: double check that we're allocating correct size: 4 vs 8
vim +394 drivers/iio/industrialio-gts-helper.c
e65065132fa6d9 Matti Vaittinen 2023-04-17 350
38416c28e16890 Matti Vaittinen 2023-03-31 351 /**
38416c28e16890 Matti Vaittinen 2023-03-31 352 * iio_gts_build_avail_time_table - build table of available integration times
38416c28e16890 Matti Vaittinen 2023-03-31 353 * @gts: Gain time scale descriptor
38416c28e16890 Matti Vaittinen 2023-03-31 354 *
38416c28e16890 Matti Vaittinen 2023-03-31 355 * Build the table which can represent the available times to be returned
38416c28e16890 Matti Vaittinen 2023-03-31 356 * to users using the read_avail-callback.
38416c28e16890 Matti Vaittinen 2023-03-31 357 *
38416c28e16890 Matti Vaittinen 2023-03-31 358 * NOTE: Space allocated for the tables must be freed using
38416c28e16890 Matti Vaittinen 2023-03-31 359 * iio_gts_purge_avail_time_table() when the tables are no longer needed.
38416c28e16890 Matti Vaittinen 2023-03-31 360 *
38416c28e16890 Matti Vaittinen 2023-03-31 361 * Return: 0 on success.
38416c28e16890 Matti Vaittinen 2023-03-31 362 */
38416c28e16890 Matti Vaittinen 2023-03-31 363 static int iio_gts_build_avail_time_table(struct iio_gts *gts)
38416c28e16890 Matti Vaittinen 2023-03-31 364 {
e65065132fa6d9 Matti Vaittinen 2023-04-17 365 int *times, i, j, idx = 0, *int_micro_times;
38416c28e16890 Matti Vaittinen 2023-03-31 366
38416c28e16890 Matti Vaittinen 2023-03-31 367 if (!gts->num_itime)
38416c28e16890 Matti Vaittinen 2023-03-31 368 return 0;
38416c28e16890 Matti Vaittinen 2023-03-31 369
38416c28e16890 Matti Vaittinen 2023-03-31 370 times = kcalloc(gts->num_itime, sizeof(int), GFP_KERNEL);
38416c28e16890 Matti Vaittinen 2023-03-31 371 if (!times)
38416c28e16890 Matti Vaittinen 2023-03-31 372 return -ENOMEM;
38416c28e16890 Matti Vaittinen 2023-03-31 373
38416c28e16890 Matti Vaittinen 2023-03-31 374 /* Sort times from all tables to one and remove duplicates */
38416c28e16890 Matti Vaittinen 2023-03-31 375 for (i = gts->num_itime - 1; i >= 0; i--) {
38416c28e16890 Matti Vaittinen 2023-03-31 376 int new = gts->itime_table[i].time_us;
38416c28e16890 Matti Vaittinen 2023-03-31 377
38416c28e16890 Matti Vaittinen 2023-03-31 378 if (times[idx] < new) {
38416c28e16890 Matti Vaittinen 2023-03-31 379 times[idx++] = new;
38416c28e16890 Matti Vaittinen 2023-03-31 380 continue;
38416c28e16890 Matti Vaittinen 2023-03-31 381 }
38416c28e16890 Matti Vaittinen 2023-03-31 382
38416c28e16890 Matti Vaittinen 2023-03-31 383 for (j = 0; j <= idx; j++) {
38416c28e16890 Matti Vaittinen 2023-03-31 384 if (times[j] > new) {
38416c28e16890 Matti Vaittinen 2023-03-31 385 memmove(×[j + 1], ×[j],
38416c28e16890 Matti Vaittinen 2023-03-31 386 (idx - j) * sizeof(int));
38416c28e16890 Matti Vaittinen 2023-03-31 387 times[j] = new;
38416c28e16890 Matti Vaittinen 2023-03-31 388 idx++;
38416c28e16890 Matti Vaittinen 2023-03-31 389 }
38416c28e16890 Matti Vaittinen 2023-03-31 390 }
38416c28e16890 Matti Vaittinen 2023-03-31 391 }
e65065132fa6d9 Matti Vaittinen 2023-04-17 392
e65065132fa6d9 Matti Vaittinen 2023-04-17 393 /* create a list of times formatted as list of IIO_VAL_INT_PLUS_MICRO */
e65065132fa6d9 Matti Vaittinen 2023-04-17 @394 int_micro_times = kcalloc(idx, sizeof(int) * 2, GFP_KERNEL);
e65065132fa6d9 Matti Vaittinen 2023-04-17 395 if (int_micro_times) {
38416c28e16890 Matti Vaittinen 2023-03-31 396 /*
e65065132fa6d9 Matti Vaittinen 2023-04-17 397 * This is just to survive a unlikely corner-case where times in
e65065132fa6d9 Matti Vaittinen 2023-04-17 398 * the given time table were not unique. Else we could just
e65065132fa6d9 Matti Vaittinen 2023-04-17 399 * trust the gts->num_itime.
38416c28e16890 Matti Vaittinen 2023-03-31 400 */
38416c28e16890 Matti Vaittinen 2023-03-31 401 gts->num_avail_time_tables = idx;
e65065132fa6d9 Matti Vaittinen 2023-04-17 402 iio_gts_us_to_int_micro(times, int_micro_times, idx);
e65065132fa6d9 Matti Vaittinen 2023-04-17 403 }
e65065132fa6d9 Matti Vaittinen 2023-04-17 404
e65065132fa6d9 Matti Vaittinen 2023-04-17 405 gts->avail_time_tables = int_micro_times;
e65065132fa6d9 Matti Vaittinen 2023-04-17 406 kfree(times);
e65065132fa6d9 Matti Vaittinen 2023-04-17 407
e65065132fa6d9 Matti Vaittinen 2023-04-17 408 if (!int_micro_times)
e65065132fa6d9 Matti Vaittinen 2023-04-17 409 return -ENOMEM;
38416c28e16890 Matti Vaittinen 2023-03-31 410
38416c28e16890 Matti Vaittinen 2023-03-31 411 return 0;
38416c28e16890 Matti Vaittinen 2023-03-31 412 }
38416c28e16890 Matti Vaittinen 2023-03-31 413
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2023-06-06 4:10 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-06 4:10 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-06-06 13:28 drivers/iio/industrialio-gts-helper.c:394 iio_gts_build_avail_time_table() warn: double check that we're allocating correct size: 4 vs 8 kernel test robot
2023-11-05 21:22 kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202306061239.AIaDBsVg-lkp@intel.com \
--to=lkp@intel.com \
--cc=error27@gmail.com \
--cc=oe-kbuild@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.