From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: Re: [PATCH v5 2/5] iio: consumers: copy/release available info from producer to fix race
Date: Fri, 25 Oct 2024 06:59:42 +0800 [thread overview]
Message-ID: <202410250631.Sci650fF-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20241021-iio-read-avail-release-v5-2-b168713fab33@gmail.com>
References: <20241021-iio-read-avail-release-v5-2-b168713fab33@gmail.com>
TO: Matteo Martelli <matteomartelli3@gmail.com>
TO: Jonathan Cameron <jic23@kernel.org>
TO: "Lars-Peter Clausen" <lars@metafoo.de>
TO: Michael Hennerich <Michael.Hennerich@analog.com>
TO: "Alisa-Dariana Roman" <alisa.roman@analog.com>
TO: Christian Eggers <ceggers@arri.de>
TO: Peter Rosin <peda@axentia.se>
TO: Paul Cercueil <paul@crapouillou.net>
TO: Sebastian Reichel <sre@kernel.org>
CC: linux-iio@vger.kernel.org
CC: linux-kernel@vger.kernel.org
CC: linux-mips@vger.kernel.org
CC: linux-pm@vger.kernel.org
CC: Matteo Martelli <matteomartelli3@gmail.com>
Hi Matteo,
kernel test robot noticed the following build warnings:
[auto build test WARNING on c3e9df514041ec6c46be83801b1891392f4522f7]
url: https://github.com/intel-lab-lkp/linux/commits/Matteo-Martelli/iio-core-add-read_avail_release_resource-callback-to-fix-race/20241021-205851
base: c3e9df514041ec6c46be83801b1891392f4522f7
patch link: https://lore.kernel.org/r/20241021-iio-read-avail-release-v5-2-b168713fab33%40gmail.com
patch subject: [PATCH v5 2/5] iio: consumers: copy/release available info from producer to fix race
:::::: branch date: 3 days ago
:::::: commit date: 3 days ago
config: i386-randconfig-141-20241025 (https://download.01.org/0day-ci/archive/20241025/202410250631.Sci650fF-lkp@intel.com/config)
compiler: clang version 19.1.2 (https://github.com/llvm/llvm-project 7ba7d8e2f7b6445b60679da826210cdde29eaf8b)
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 <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202410250631.Sci650fF-lkp@intel.com/
smatch warnings:
drivers/iio/inkern.c:878 iio_channel_read_max() error: uninitialized symbol 'avail_type'.
drivers/iio/inkern.c:935 iio_channel_read_min() error: uninitialized symbol 'avail_type'.
vim +/avail_type +878 drivers/iio/inkern.c
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 864
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 865 static int iio_channel_read_max(struct iio_channel *chan,
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 866 int *val, int *val2, int *type,
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 867 enum iio_chan_info_enum info)
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 868 {
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 869 int length;
b87e6c24d989cc drivers/iio/inkern.c Matteo Martelli 2024-10-21 870 int avail_type;
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 871
b87e6c24d989cc drivers/iio/inkern.c Matteo Martelli 2024-10-21 872 const int *vals __free(kfree) =
b87e6c24d989cc drivers/iio/inkern.c Matteo Martelli 2024-10-21 873 iio_channel_read_avail_retvals(chan, type, &length,
b87e6c24d989cc drivers/iio/inkern.c Matteo Martelli 2024-10-21 874 &avail_type, info);
b87e6c24d989cc drivers/iio/inkern.c Matteo Martelli 2024-10-21 875 if (IS_ERR(vals))
b87e6c24d989cc drivers/iio/inkern.c Matteo Martelli 2024-10-21 876 return PTR_ERR(vals);
f75c544d741332 drivers/iio/inkern.c Herve Codina 2023-06-23 877
b87e6c24d989cc drivers/iio/inkern.c Matteo Martelli 2024-10-21 @878 switch (avail_type) {
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 879 case IIO_AVAIL_RANGE:
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 880 switch (*type) {
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 881 case IIO_VAL_INT:
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 882 *val = vals[2];
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 883 break;
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 884 default:
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 885 *val = vals[4];
ad4e8480a1db87 drivers/iio/inkern.c Herve Codina 2023-06-23 886 if (val2)
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 887 *val2 = vals[5];
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 888 }
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 889 return 0;
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 890
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 891 case IIO_AVAIL_LIST:
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 892 if (length <= 0)
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 893 return -EINVAL;
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 894 switch (*type) {
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 895 case IIO_VAL_INT:
97aee7157eeada drivers/iio/inkern.c Herve Codina 2023-06-23 896 *val = max_array(vals, length);
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 897 break;
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 898 default:
4dc603735826ec drivers/iio/inkern.c Herve Codina 2023-06-23 899 /* TODO: learn about max for other iio values */
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 900 return -EINVAL;
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 901 }
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 902 return 0;
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 903
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 904 default:
f75c544d741332 drivers/iio/inkern.c Herve Codina 2023-06-23 905 return -EINVAL;
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 906 }
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 907 }
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 908
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 909 int iio_read_max_channel_raw(struct iio_channel *chan, int *val)
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 910 {
b804e2b76ac6d5 drivers/iio/inkern.c Jonathan Cameron 2021-04-26 911 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(chan->indio_dev);
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 912 int type;
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 913
3092bde731ca8c drivers/iio/inkern.c Nuno Sa 2024-02-29 914 guard(mutex)(&iio_dev_opaque->info_exist_lock);
3092bde731ca8c drivers/iio/inkern.c Nuno Sa 2024-02-29 915 if (!chan->indio_dev->info)
3092bde731ca8c drivers/iio/inkern.c Nuno Sa 2024-02-29 916 return -ENODEV;
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 917
3092bde731ca8c drivers/iio/inkern.c Nuno Sa 2024-02-29 918 return iio_channel_read_max(chan, val, NULL, &type, IIO_CHAN_INFO_RAW);
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 919 }
00c5f80c2fad53 drivers/iio/inkern.c Peter Rosin 2016-11-08 920 EXPORT_SYMBOL_GPL(iio_read_max_channel_raw);
e27d75d71c0dbb drivers/staging/iio/inkern.c Jonathan Cameron 2012-02-15 921
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 922 static int iio_channel_read_min(struct iio_channel *chan,
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 923 int *val, int *val2, int *type,
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 924 enum iio_chan_info_enum info)
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 925 {
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 926 int length;
b87e6c24d989cc drivers/iio/inkern.c Matteo Martelli 2024-10-21 927 int avail_type;
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 928
b87e6c24d989cc drivers/iio/inkern.c Matteo Martelli 2024-10-21 929 const int *vals __free(kfree) =
b87e6c24d989cc drivers/iio/inkern.c Matteo Martelli 2024-10-21 930 iio_channel_read_avail_retvals(chan, type, &length,
b87e6c24d989cc drivers/iio/inkern.c Matteo Martelli 2024-10-21 931 &avail_type, info);
b87e6c24d989cc drivers/iio/inkern.c Matteo Martelli 2024-10-21 932 if (IS_ERR(vals))
b87e6c24d989cc drivers/iio/inkern.c Matteo Martelli 2024-10-21 933 return PTR_ERR(vals);
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 934
b87e6c24d989cc drivers/iio/inkern.c Matteo Martelli 2024-10-21 @935 switch (avail_type) {
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 936 case IIO_AVAIL_RANGE:
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 937 switch (*type) {
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 938 case IIO_VAL_INT:
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 939 *val = vals[0];
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 940 break;
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 941 default:
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 942 *val = vals[0];
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 943 if (val2)
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 944 *val2 = vals[1];
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 945 }
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 946 return 0;
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 947
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 948 case IIO_AVAIL_LIST:
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 949 if (length <= 0)
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 950 return -EINVAL;
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 951 switch (*type) {
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 952 case IIO_VAL_INT:
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 953 *val = min_array(vals, length);
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 954 break;
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 955 default:
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 956 /* TODO: learn about min for other iio values */
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 957 return -EINVAL;
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 958 }
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 959 return 0;
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 960
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 961 default:
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 962 return -EINVAL;
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 963 }
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 964 }
7560418078b939 drivers/iio/inkern.c Herve Codina 2023-06-23 965
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2024-10-24 23:00 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-24 22:59 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-10-21 12:54 [PATCH v5 0/5] iio: fix possible race condition during access of available info lists Matteo Martelli
2024-10-21 12:54 ` [PATCH v5 2/5] iio: consumers: copy/release available info from producer to fix race Matteo Martelli
2024-10-30 14:47 ` Andy Shevchenko
2024-10-30 17:35 ` Jonathan Cameron
2024-10-30 18:23 ` Matteo Martelli
2024-10-30 20:30 ` Jonathan Cameron
2024-10-31 11:26 ` Matteo Martelli
2024-10-31 14:31 ` Jonathan Cameron
2024-10-31 18:06 ` Matteo Martelli
2024-11-15 14:25 ` Matteo Martelli
2024-11-18 10:21 ` Andy Shevchenko
2024-11-18 14:45 ` Matteo Martelli
2024-11-18 16:05 ` Andy Shevchenko
2024-11-19 11:25 ` Matteo Martelli
2024-11-19 12:05 ` Andy Shevchenko
2024-11-23 14:13 ` Jonathan Cameron
2024-11-25 10:05 ` Andy Shevchenko
2024-11-26 16:31 ` Matteo Martelli
2024-11-26 17:41 ` Jonathan Cameron
2024-11-29 16:04 ` Matteo Martelli
2024-12-02 17:42 ` Andy Shevchenko
2024-12-12 9:46 ` Matteo Martelli
2024-12-12 14:06 ` Andy Shevchenko
2024-12-15 13:46 ` Jonathan Cameron
2024-12-23 15:28 ` Matteo Martelli
2025-01-05 11:22 ` Jonathan Cameron
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=202410250631.Sci650fF-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.