From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org,
Alexandru Ardelean <alexandru.ardelean@analog.com>,
linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org
Cc: lkp@intel.com, kbuild-all@lists.01.org, lars@metafoo.de,
Michael.Hennerich@analog.com, jic23@kernel.org,
nuno.sa@analog.com, dragos.bogdan@analog.com, rafael@kernel.org,
gregkh@linuxfoundation.org,
Alexandru Ardelean <alexandru.ardelean@analog.com>
Subject: Re: [PATCH v3 06/11] iio: core: merge buffer/ & scan_elements/ attributes
Date: Tue, 2 Feb 2021 09:07:05 +0300 [thread overview]
Message-ID: <20210202060705.GN2696@kadam> (raw)
In-Reply-To: <20210201145105.20459-7-alexandru.ardelean@analog.com>
[-- Attachment #1: Type: text/plain, Size: 8887 bytes --]
Hi Alexandru,
url: https://github.com/0day-ci/linux/commits/Alexandru-Ardelean/iio-core-buffer-add-support-for-multiple-IIO-buffers-per-IIO-device/20210201-233550
base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
config: arc-randconfig-m031-20210201 (attached as .config)
compiler: arc-elf-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/iio/industrialio-buffer.c:1413 __iio_buffer_alloc_sysfs_and_mask() error: uninitialized symbol 'ret'.
vim +/ret +1413 drivers/iio/industrialio-buffer.c
e16e0a778fec8a Alexandru Ardelean 2020-09-17 1314 static int __iio_buffer_alloc_sysfs_and_mask(struct iio_buffer *buffer,
418ff389a5a48a Alexandru Ardelean 2021-02-01 1315 struct iio_dev *indio_dev,
418ff389a5a48a Alexandru Ardelean 2021-02-01 1316 int index)
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1317 {
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1318 struct iio_dev_attr *p;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1319 struct attribute **attr;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1320 int ret, i, attrn, scan_el_attrcount, buffer_attrcount;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1321 const struct iio_chan_spec *channels;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1322
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1323 buffer_attrcount = 0;
08e7e0adaa1720 Lars-Peter Clausen 2014-11-26 1324 if (buffer->attrs) {
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1325 while (buffer->attrs[buffer_attrcount] != NULL)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1326 buffer_attrcount++;
08e7e0adaa1720 Lars-Peter Clausen 2014-11-26 1327 }
08e7e0adaa1720 Lars-Peter Clausen 2014-11-26 1328
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1329 scan_el_attrcount = 0;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1330 INIT_LIST_HEAD(&buffer->scan_el_dev_attr_list);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1331 channels = indio_dev->channels;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1332 if (channels) {
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1333 /* new magic */
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1334 for (i = 0; i < indio_dev->num_channels; i++) {
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1335 if (channels[i].scan_index < 0)
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1336 continue;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1337
ff3f7e049aef92 Alexandru Ardelean 2020-04-24 1338 ret = iio_buffer_add_channel_sysfs(indio_dev, buffer,
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1339 &channels[i]);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1340 if (ret < 0)
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1341 goto error_cleanup_dynamic;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1342 scan_el_attrcount += ret;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1343 if (channels[i].type == IIO_TIMESTAMP)
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1344 indio_dev->scan_index_timestamp =
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1345 channels[i].scan_index;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1346 }
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1347 if (indio_dev->masklength && buffer->scan_mask == NULL) {
3862828a903d3c Andy Shevchenko 2019-03-04 1348 buffer->scan_mask = bitmap_zalloc(indio_dev->masklength,
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1349 GFP_KERNEL);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1350 if (buffer->scan_mask == NULL) {
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1351 ret = -ENOMEM;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1352 goto error_cleanup_dynamic;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1353 }
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1354 }
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1355 }
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1356
418ff389a5a48a Alexandru Ardelean 2021-02-01 1357 attrn = buffer_attrcount + scan_el_attrcount + ARRAY_SIZE(iio_buffer_attrs);
418ff389a5a48a Alexandru Ardelean 2021-02-01 1358 attr = kcalloc(attrn + 1, sizeof(struct attribute *), GFP_KERNEL);
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1359 if (!attr) {
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1360 ret = -ENOMEM;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1361 goto error_free_scan_mask;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1362 }
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1363
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1364 memcpy(attr, iio_buffer_attrs, sizeof(iio_buffer_attrs));
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1365 if (!buffer->access->set_length)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1366 attr[0] = &dev_attr_length_ro.attr;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1367
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1368 if (buffer->access->flags & INDIO_BUFFER_FLAG_FIXED_WATERMARK)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1369 attr[2] = &dev_attr_watermark_ro.attr;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1370
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1371 if (buffer->attrs)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1372 memcpy(&attr[ARRAY_SIZE(iio_buffer_attrs)], buffer->attrs,
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1373 sizeof(struct attribute *) * buffer_attrcount);
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1374
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1375 buffer_attrcount += ARRAY_SIZE(iio_buffer_attrs);
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1376
418ff389a5a48a Alexandru Ardelean 2021-02-01 1377 attrn = buffer_attrcount;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1378
418ff389a5a48a Alexandru Ardelean 2021-02-01 1379 list_for_each_entry(p, &buffer->scan_el_dev_attr_list, l)
418ff389a5a48a Alexandru Ardelean 2021-02-01 1380 attr[attrn++] = &p->dev_attr.attr;
418ff389a5a48a Alexandru Ardelean 2021-02-01 1381
418ff389a5a48a Alexandru Ardelean 2021-02-01 1382 buffer->buffer_group.name = kasprintf(GFP_KERNEL, "buffer%d", index);
418ff389a5a48a Alexandru Ardelean 2021-02-01 1383 if (!buffer->buffer_group.name)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1384 goto error_free_buffer_attrs;
This needs to be "ret = -ENOMEM;"
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1385
418ff389a5a48a Alexandru Ardelean 2021-02-01 1386 buffer->buffer_group.attrs = attr;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1387
418ff389a5a48a Alexandru Ardelean 2021-02-01 1388 ret = iio_device_register_sysfs_group(indio_dev, &buffer->buffer_group);
418ff389a5a48a Alexandru Ardelean 2021-02-01 1389 if (ret)
418ff389a5a48a Alexandru Ardelean 2021-02-01 1390 goto error_free_buffer_attr_group_name;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1391
418ff389a5a48a Alexandru Ardelean 2021-02-01 1392 /* we only need to link the legacy buffer groups for the first buffer */
418ff389a5a48a Alexandru Ardelean 2021-02-01 1393 if (index > 0)
418ff389a5a48a Alexandru Ardelean 2021-02-01 1394 return 0;
2dca9525701e36 Alexandru Ardelean 2021-02-01 1395
418ff389a5a48a Alexandru Ardelean 2021-02-01 1396 ret = iio_buffer_register_legacy_sysfs_groups(indio_dev, attr,
418ff389a5a48a Alexandru Ardelean 2021-02-01 1397 buffer_attrcount,
418ff389a5a48a Alexandru Ardelean 2021-02-01 1398 scan_el_attrcount);
2dca9525701e36 Alexandru Ardelean 2021-02-01 1399 if (ret)
418ff389a5a48a Alexandru Ardelean 2021-02-01 1400 goto error_free_buffer_attr_group_name;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1401
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1402 return 0;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1403
418ff389a5a48a Alexandru Ardelean 2021-02-01 1404 error_free_buffer_attr_group_name:
418ff389a5a48a Alexandru Ardelean 2021-02-01 1405 kfree(buffer->buffer_group.name);
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1406 error_free_buffer_attrs:
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1407 kfree(buffer->buffer_group.attrs);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1408 error_free_scan_mask:
3862828a903d3c Andy Shevchenko 2019-03-04 1409 bitmap_free(buffer->scan_mask);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1410 error_cleanup_dynamic:
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1411 iio_free_chan_devattr_list(&buffer->scan_el_dev_attr_list);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1412
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 @1413 return ret;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1414 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 25323 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org
Subject: Re: [PATCH v3 06/11] iio: core: merge buffer/ & scan_elements/ attributes
Date: Tue, 02 Feb 2021 09:07:05 +0300 [thread overview]
Message-ID: <20210202060705.GN2696@kadam> (raw)
In-Reply-To: <20210201145105.20459-7-alexandru.ardelean@analog.com>
[-- Attachment #1: Type: text/plain, Size: 9013 bytes --]
Hi Alexandru,
url: https://github.com/0day-ci/linux/commits/Alexandru-Ardelean/iio-core-buffer-add-support-for-multiple-IIO-buffers-per-IIO-device/20210201-233550
base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
config: arc-randconfig-m031-20210201 (attached as .config)
compiler: arc-elf-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/iio/industrialio-buffer.c:1413 __iio_buffer_alloc_sysfs_and_mask() error: uninitialized symbol 'ret'.
vim +/ret +1413 drivers/iio/industrialio-buffer.c
e16e0a778fec8a Alexandru Ardelean 2020-09-17 1314 static int __iio_buffer_alloc_sysfs_and_mask(struct iio_buffer *buffer,
418ff389a5a48a Alexandru Ardelean 2021-02-01 1315 struct iio_dev *indio_dev,
418ff389a5a48a Alexandru Ardelean 2021-02-01 1316 int index)
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1317 {
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1318 struct iio_dev_attr *p;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1319 struct attribute **attr;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1320 int ret, i, attrn, scan_el_attrcount, buffer_attrcount;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1321 const struct iio_chan_spec *channels;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1322
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1323 buffer_attrcount = 0;
08e7e0adaa1720 Lars-Peter Clausen 2014-11-26 1324 if (buffer->attrs) {
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1325 while (buffer->attrs[buffer_attrcount] != NULL)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1326 buffer_attrcount++;
08e7e0adaa1720 Lars-Peter Clausen 2014-11-26 1327 }
08e7e0adaa1720 Lars-Peter Clausen 2014-11-26 1328
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1329 scan_el_attrcount = 0;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1330 INIT_LIST_HEAD(&buffer->scan_el_dev_attr_list);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1331 channels = indio_dev->channels;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1332 if (channels) {
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1333 /* new magic */
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1334 for (i = 0; i < indio_dev->num_channels; i++) {
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1335 if (channels[i].scan_index < 0)
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1336 continue;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1337
ff3f7e049aef92 Alexandru Ardelean 2020-04-24 1338 ret = iio_buffer_add_channel_sysfs(indio_dev, buffer,
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1339 &channels[i]);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1340 if (ret < 0)
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1341 goto error_cleanup_dynamic;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1342 scan_el_attrcount += ret;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1343 if (channels[i].type == IIO_TIMESTAMP)
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1344 indio_dev->scan_index_timestamp =
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1345 channels[i].scan_index;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1346 }
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1347 if (indio_dev->masklength && buffer->scan_mask == NULL) {
3862828a903d3c Andy Shevchenko 2019-03-04 1348 buffer->scan_mask = bitmap_zalloc(indio_dev->masklength,
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1349 GFP_KERNEL);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1350 if (buffer->scan_mask == NULL) {
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1351 ret = -ENOMEM;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1352 goto error_cleanup_dynamic;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1353 }
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1354 }
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1355 }
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1356
418ff389a5a48a Alexandru Ardelean 2021-02-01 1357 attrn = buffer_attrcount + scan_el_attrcount + ARRAY_SIZE(iio_buffer_attrs);
418ff389a5a48a Alexandru Ardelean 2021-02-01 1358 attr = kcalloc(attrn + 1, sizeof(struct attribute *), GFP_KERNEL);
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1359 if (!attr) {
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1360 ret = -ENOMEM;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1361 goto error_free_scan_mask;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1362 }
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1363
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1364 memcpy(attr, iio_buffer_attrs, sizeof(iio_buffer_attrs));
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1365 if (!buffer->access->set_length)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1366 attr[0] = &dev_attr_length_ro.attr;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1367
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1368 if (buffer->access->flags & INDIO_BUFFER_FLAG_FIXED_WATERMARK)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1369 attr[2] = &dev_attr_watermark_ro.attr;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1370
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1371 if (buffer->attrs)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1372 memcpy(&attr[ARRAY_SIZE(iio_buffer_attrs)], buffer->attrs,
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1373 sizeof(struct attribute *) * buffer_attrcount);
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1374
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1375 buffer_attrcount += ARRAY_SIZE(iio_buffer_attrs);
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1376
418ff389a5a48a Alexandru Ardelean 2021-02-01 1377 attrn = buffer_attrcount;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1378
418ff389a5a48a Alexandru Ardelean 2021-02-01 1379 list_for_each_entry(p, &buffer->scan_el_dev_attr_list, l)
418ff389a5a48a Alexandru Ardelean 2021-02-01 1380 attr[attrn++] = &p->dev_attr.attr;
418ff389a5a48a Alexandru Ardelean 2021-02-01 1381
418ff389a5a48a Alexandru Ardelean 2021-02-01 1382 buffer->buffer_group.name = kasprintf(GFP_KERNEL, "buffer%d", index);
418ff389a5a48a Alexandru Ardelean 2021-02-01 1383 if (!buffer->buffer_group.name)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1384 goto error_free_buffer_attrs;
This needs to be "ret = -ENOMEM;"
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1385
418ff389a5a48a Alexandru Ardelean 2021-02-01 1386 buffer->buffer_group.attrs = attr;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1387
418ff389a5a48a Alexandru Ardelean 2021-02-01 1388 ret = iio_device_register_sysfs_group(indio_dev, &buffer->buffer_group);
418ff389a5a48a Alexandru Ardelean 2021-02-01 1389 if (ret)
418ff389a5a48a Alexandru Ardelean 2021-02-01 1390 goto error_free_buffer_attr_group_name;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1391
418ff389a5a48a Alexandru Ardelean 2021-02-01 1392 /* we only need to link the legacy buffer groups for the first buffer */
418ff389a5a48a Alexandru Ardelean 2021-02-01 1393 if (index > 0)
418ff389a5a48a Alexandru Ardelean 2021-02-01 1394 return 0;
2dca9525701e36 Alexandru Ardelean 2021-02-01 1395
418ff389a5a48a Alexandru Ardelean 2021-02-01 1396 ret = iio_buffer_register_legacy_sysfs_groups(indio_dev, attr,
418ff389a5a48a Alexandru Ardelean 2021-02-01 1397 buffer_attrcount,
418ff389a5a48a Alexandru Ardelean 2021-02-01 1398 scan_el_attrcount);
2dca9525701e36 Alexandru Ardelean 2021-02-01 1399 if (ret)
418ff389a5a48a Alexandru Ardelean 2021-02-01 1400 goto error_free_buffer_attr_group_name;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1401
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1402 return 0;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1403
418ff389a5a48a Alexandru Ardelean 2021-02-01 1404 error_free_buffer_attr_group_name:
418ff389a5a48a Alexandru Ardelean 2021-02-01 1405 kfree(buffer->buffer_group.name);
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1406 error_free_buffer_attrs:
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1407 kfree(buffer->buffer_group.attrs);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1408 error_free_scan_mask:
3862828a903d3c Andy Shevchenko 2019-03-04 1409 bitmap_free(buffer->scan_mask);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1410 error_cleanup_dynamic:
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1411 iio_free_chan_devattr_list(&buffer->scan_el_dev_attr_list);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1412
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 @1413 return ret;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1414 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 25323 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v3 06/11] iio: core: merge buffer/ & scan_elements/ attributes
Date: Tue, 02 Feb 2021 09:07:05 +0300 [thread overview]
Message-ID: <20210202060705.GN2696@kadam> (raw)
In-Reply-To: <20210201145105.20459-7-alexandru.ardelean@analog.com>
[-- Attachment #1: Type: text/plain, Size: 9013 bytes --]
Hi Alexandru,
url: https://github.com/0day-ci/linux/commits/Alexandru-Ardelean/iio-core-buffer-add-support-for-multiple-IIO-buffers-per-IIO-device/20210201-233550
base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
config: arc-randconfig-m031-20210201 (attached as .config)
compiler: arc-elf-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/iio/industrialio-buffer.c:1413 __iio_buffer_alloc_sysfs_and_mask() error: uninitialized symbol 'ret'.
vim +/ret +1413 drivers/iio/industrialio-buffer.c
e16e0a778fec8a Alexandru Ardelean 2020-09-17 1314 static int __iio_buffer_alloc_sysfs_and_mask(struct iio_buffer *buffer,
418ff389a5a48a Alexandru Ardelean 2021-02-01 1315 struct iio_dev *indio_dev,
418ff389a5a48a Alexandru Ardelean 2021-02-01 1316 int index)
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1317 {
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1318 struct iio_dev_attr *p;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1319 struct attribute **attr;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1320 int ret, i, attrn, scan_el_attrcount, buffer_attrcount;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1321 const struct iio_chan_spec *channels;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1322
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1323 buffer_attrcount = 0;
08e7e0adaa1720 Lars-Peter Clausen 2014-11-26 1324 if (buffer->attrs) {
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1325 while (buffer->attrs[buffer_attrcount] != NULL)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1326 buffer_attrcount++;
08e7e0adaa1720 Lars-Peter Clausen 2014-11-26 1327 }
08e7e0adaa1720 Lars-Peter Clausen 2014-11-26 1328
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1329 scan_el_attrcount = 0;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1330 INIT_LIST_HEAD(&buffer->scan_el_dev_attr_list);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1331 channels = indio_dev->channels;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1332 if (channels) {
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1333 /* new magic */
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1334 for (i = 0; i < indio_dev->num_channels; i++) {
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1335 if (channels[i].scan_index < 0)
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1336 continue;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1337
ff3f7e049aef92 Alexandru Ardelean 2020-04-24 1338 ret = iio_buffer_add_channel_sysfs(indio_dev, buffer,
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1339 &channels[i]);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1340 if (ret < 0)
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1341 goto error_cleanup_dynamic;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1342 scan_el_attrcount += ret;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1343 if (channels[i].type == IIO_TIMESTAMP)
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1344 indio_dev->scan_index_timestamp =
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1345 channels[i].scan_index;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1346 }
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1347 if (indio_dev->masklength && buffer->scan_mask == NULL) {
3862828a903d3c Andy Shevchenko 2019-03-04 1348 buffer->scan_mask = bitmap_zalloc(indio_dev->masklength,
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1349 GFP_KERNEL);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1350 if (buffer->scan_mask == NULL) {
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1351 ret = -ENOMEM;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1352 goto error_cleanup_dynamic;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1353 }
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1354 }
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1355 }
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1356
418ff389a5a48a Alexandru Ardelean 2021-02-01 1357 attrn = buffer_attrcount + scan_el_attrcount + ARRAY_SIZE(iio_buffer_attrs);
418ff389a5a48a Alexandru Ardelean 2021-02-01 1358 attr = kcalloc(attrn + 1, sizeof(struct attribute *), GFP_KERNEL);
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1359 if (!attr) {
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1360 ret = -ENOMEM;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1361 goto error_free_scan_mask;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1362 }
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1363
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1364 memcpy(attr, iio_buffer_attrs, sizeof(iio_buffer_attrs));
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1365 if (!buffer->access->set_length)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1366 attr[0] = &dev_attr_length_ro.attr;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1367
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1368 if (buffer->access->flags & INDIO_BUFFER_FLAG_FIXED_WATERMARK)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1369 attr[2] = &dev_attr_watermark_ro.attr;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1370
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1371 if (buffer->attrs)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1372 memcpy(&attr[ARRAY_SIZE(iio_buffer_attrs)], buffer->attrs,
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1373 sizeof(struct attribute *) * buffer_attrcount);
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1374
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1375 buffer_attrcount += ARRAY_SIZE(iio_buffer_attrs);
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1376
418ff389a5a48a Alexandru Ardelean 2021-02-01 1377 attrn = buffer_attrcount;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1378
418ff389a5a48a Alexandru Ardelean 2021-02-01 1379 list_for_each_entry(p, &buffer->scan_el_dev_attr_list, l)
418ff389a5a48a Alexandru Ardelean 2021-02-01 1380 attr[attrn++] = &p->dev_attr.attr;
418ff389a5a48a Alexandru Ardelean 2021-02-01 1381
418ff389a5a48a Alexandru Ardelean 2021-02-01 1382 buffer->buffer_group.name = kasprintf(GFP_KERNEL, "buffer%d", index);
418ff389a5a48a Alexandru Ardelean 2021-02-01 1383 if (!buffer->buffer_group.name)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1384 goto error_free_buffer_attrs;
This needs to be "ret = -ENOMEM;"
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1385
418ff389a5a48a Alexandru Ardelean 2021-02-01 1386 buffer->buffer_group.attrs = attr;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1387
418ff389a5a48a Alexandru Ardelean 2021-02-01 1388 ret = iio_device_register_sysfs_group(indio_dev, &buffer->buffer_group);
418ff389a5a48a Alexandru Ardelean 2021-02-01 1389 if (ret)
418ff389a5a48a Alexandru Ardelean 2021-02-01 1390 goto error_free_buffer_attr_group_name;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1391
418ff389a5a48a Alexandru Ardelean 2021-02-01 1392 /* we only need to link the legacy buffer groups for the first buffer */
418ff389a5a48a Alexandru Ardelean 2021-02-01 1393 if (index > 0)
418ff389a5a48a Alexandru Ardelean 2021-02-01 1394 return 0;
2dca9525701e36 Alexandru Ardelean 2021-02-01 1395
418ff389a5a48a Alexandru Ardelean 2021-02-01 1396 ret = iio_buffer_register_legacy_sysfs_groups(indio_dev, attr,
418ff389a5a48a Alexandru Ardelean 2021-02-01 1397 buffer_attrcount,
418ff389a5a48a Alexandru Ardelean 2021-02-01 1398 scan_el_attrcount);
2dca9525701e36 Alexandru Ardelean 2021-02-01 1399 if (ret)
418ff389a5a48a Alexandru Ardelean 2021-02-01 1400 goto error_free_buffer_attr_group_name;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1401
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1402 return 0;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1403
418ff389a5a48a Alexandru Ardelean 2021-02-01 1404 error_free_buffer_attr_group_name:
418ff389a5a48a Alexandru Ardelean 2021-02-01 1405 kfree(buffer->buffer_group.name);
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1406 error_free_buffer_attrs:
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1407 kfree(buffer->buffer_group.attrs);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1408 error_free_scan_mask:
3862828a903d3c Andy Shevchenko 2019-03-04 1409 bitmap_free(buffer->scan_mask);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1410 error_cleanup_dynamic:
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1411 iio_free_chan_devattr_list(&buffer->scan_el_dev_attr_list);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1412
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 @1413 return ret;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1414 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 25323 bytes --]
next prev parent reply other threads:[~2021-02-02 6:10 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-01 14:50 [PATCH v3 00/11] iio: core,buffer: add support for multiple IIO buffers per IIO device Alexandru Ardelean
2021-02-01 14:50 ` [PATCH v3 01/11] docs: ioctl-number.rst: reserve IIO subsystem ioctl() space Alexandru Ardelean
2021-02-04 17:06 ` Jonathan Cameron
2021-02-05 7:08 ` Alexandru Ardelean
2021-02-01 14:50 ` [PATCH v3 02/11] iio: core: register chardev only if needed Alexandru Ardelean
2021-02-04 17:17 ` Jonathan Cameron
2021-02-01 14:50 ` [PATCH v3 03/11] iio: core-trigger: make iio_device_register_trigger_consumer() an int return Alexandru Ardelean
2021-02-01 14:50 ` [PATCH v3 04/11] iio: core: rework iio device group creation Alexandru Ardelean
2021-02-04 17:32 ` Jonathan Cameron
2021-02-05 7:32 ` Alexandru Ardelean
2021-02-01 14:50 ` [PATCH v3 05/11] iio: buffer: group attr count and attr alloc Alexandru Ardelean
2021-02-04 17:49 ` Jonathan Cameron
2021-02-05 8:12 ` Alexandru Ardelean
2021-02-05 12:33 ` Jonathan Cameron
2021-02-01 14:51 ` [PATCH v3 06/11] iio: core: merge buffer/ & scan_elements/ attributes Alexandru Ardelean
2021-02-01 20:02 ` kernel test robot
2021-02-01 20:02 ` kernel test robot
2021-02-02 6:07 ` Dan Carpenter [this message]
2021-02-02 6:07 ` Dan Carpenter
2021-02-02 6:07 ` Dan Carpenter
2021-02-03 10:02 ` Andy Shevchenko
2021-02-04 13:41 ` Alexandru Ardelean
2021-02-05 11:07 ` Andy Shevchenko
2021-02-01 14:51 ` [PATCH v3 07/11] iio: add reference to iio buffer on iio_dev_attr Alexandru Ardelean
2021-02-04 18:09 ` Jonathan Cameron
2021-02-05 8:26 ` Alexandru Ardelean
2021-02-01 14:51 ` [PATCH v3 08/11] iio: buffer: wrap all buffer attributes into iio_dev_attr Alexandru Ardelean
2021-02-04 18:23 ` Jonathan Cameron
2021-02-05 9:17 ` Alexandru Ardelean
2021-02-05 12:39 ` Jonathan Cameron
2021-02-05 12:57 ` Alexandru Ardelean
2021-02-06 14:46 ` Jonathan Cameron
2021-02-01 14:51 ` [PATCH v3 09/11] iio: core: wrap iio device & buffer into struct for character devices Alexandru Ardelean
2021-02-01 14:51 ` [PATCH v3 10/11] iio: buffer: introduce support for attaching more IIO buffers Alexandru Ardelean
2021-02-04 18:34 ` Jonathan Cameron
2021-02-05 9:32 ` Alexandru Ardelean
2021-02-01 14:51 ` [PATCH v3 11/11] iio: buffer: add ioctl() to support opening extra buffers for IIO device Alexandru Ardelean
2021-02-04 19:00 ` Jonathan Cameron
2021-02-05 9:51 ` Alexandru Ardelean
2021-02-05 12:44 ` Jonathan Cameron
2021-02-05 12:48 ` Alexandru Ardelean
2021-02-06 14:48 ` Jonathan Cameron
-- strict thread matches above, loose matches on Subject: below --
2021-02-02 2:28 [PATCH v3 06/11] iio: core: merge buffer/ & scan_elements/ attributes 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=20210202060705.GN2696@kadam \
--to=dan.carpenter@oracle.com \
--cc=Michael.Hennerich@analog.com \
--cc=alexandru.ardelean@analog.com \
--cc=dragos.bogdan@analog.com \
--cc=gregkh@linuxfoundation.org \
--cc=jic23@kernel.org \
--cc=kbuild-all@lists.01.org \
--cc=kbuild@lists.01.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=nuno.sa@analog.com \
--cc=rafael@kernel.org \
/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.