From: Dan Carpenter <dan.carpenter@linaro.org>
To: oe-kbuild@lists.linux.dev,
Jan Carlo Roleda <jancarlo.roleda@analog.com>,
Lee Jones <lee@kernel.org>, Pavel Machek <pavel@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
linux-kernel@vger.kernel.org, linux-leds@vger.kernel.org,
devicetree@vger.kernel.org,
Jan Carlo Roleda <jancarlo.roleda@analog.com>
Subject: Re: [PATCH 2/3] leds: ltc3208: add driver
Date: Thu, 19 Mar 2026 18:53:21 +0300 [thread overview]
Message-ID: <202603192312.QLMHYKWa-lkp@intel.com> (raw)
In-Reply-To: <20260318-upstream-ltc3208-v1-2-015f1f1e9065@analog.com>
Hi Jan,
kernel test robot noticed the following build warnings:
url: https://github.com/intel-lab-lkp/linux/commits/Jan-Carlo-Roleda/Add-Maintainers-to-LTC3208-LED-Driver/20260319-005902
base: e68f95a51d1a8c1594b536c4d495cbea38d47561
patch link: https://lore.kernel.org/r/20260318-upstream-ltc3208-v1-2-015f1f1e9065%40analog.com
patch subject: [PATCH 2/3] leds: ltc3208: add driver
config: s390-randconfig-r072-20260319 (https://download.01.org/0day-ci/archive/20260319/202603192312.QLMHYKWa-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 4abb927bacf37f18f6359a41639a6d1b3bffffb5)
smatch: v0.5.0-9004-gb810ac53
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/202603192312.QLMHYKWa-lkp@intel.com/
New smatch warnings:
drivers/leds/leds-ltc3208.c:222 ltc3208_probe() error: buffer overflow 'ltc3208_dt_aux_channels' 4 <= 4
drivers/leds/leds-ltc3208.c:227 ltc3208_probe() error: buffer overflow 'aux_channels' 4 <= 4
Old smatch warnings:
drivers/leds/leds-ltc3208.c:229 ltc3208_probe() error: buffer overflow 'aux_channels' 4 <= 4
vim +/ltc3208_dt_aux_channels +222 drivers/leds/leds-ltc3208.c
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 176 static int ltc3208_probe(struct i2c_client *client)
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 177 {
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 178 enum ltc3208_aux_channel aux_channels[LTC3208_NUM_AUX_LEDS];
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 179 struct ltc3208_dev *data;
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 180 struct ltc3208_led *leds;
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 181 struct regmap *map;
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 182 int ret, i;
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 183 u32 val;
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 184 bool dropdis_rgb_aux4;
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 185 bool dis_camhl;
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 186 bool en_rgbs;
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 187
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 188 map = devm_regmap_init_i2c(client, <c3208_regmap_cfg);
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 189 if (IS_ERR(map))
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 190 return dev_err_probe(&client->dev, PTR_ERR(map),
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 191 "Failed to initialize regmap\n");
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 192
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 193 data = devm_kzalloc(&client->dev, sizeof(*data), GFP_KERNEL);
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 194 if (!data)
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 195 return -ENOMEM;
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 196
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 197 leds = devm_kcalloc(&client->dev, LTC3208_NUM_LED_GRPS,
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 198 sizeof(struct ltc3208_led), GFP_KERNEL);
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 199 if (!leds)
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 200 return -ENOMEM;
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 201
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 202 data->client = client;
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 203 data->map = map;
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 204
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 205 /* initialize options from devicetree */
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 206 dis_camhl = device_property_read_bool(&client->dev,
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 207 "adi,disable-camhl-pin");
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 208 en_rgbs = device_property_read_bool(&client->dev,
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 209 "adi,cfg-enrgbs-pin");
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 210 dropdis_rgb_aux4 = device_property_read_bool(&client->dev,
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 211 "adi,disable-rgb-aux4-dropout");
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 212
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 213 ret = ltc3208_update_options(data, en_rgbs, dis_camhl,
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 214 dropdis_rgb_aux4);
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 215 if (ret)
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 216 return dev_err_probe(&client->dev, ret,
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 217 "error writing to options register\n");
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 218
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 219 /* initialize aux channel configurations from devicetree */
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 220 for (i = 0; i <= LTC3208_NUM_AUX_LEDS; i++) {
^^^^^^^^^^^^^^^^^^^^^^^^^
Should this be < LTC3208_NUM_AUX_LEDS instead of <=?
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 221 ret = device_property_match_property_string(&client->dev,
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 @222 ltc3208_dt_aux_channels[i],
^^^^^^^^^^^^^^^^^^^^^^^^^^
Out of bounds.
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 223 ltc3208_aux_opt,
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 224 LTC3208_NUM_AUX_OPT);
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 225 /* use default value if absent in devicetree */
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 226 if (ret == -EINVAL)
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 @227 aux_channels[i] = LTC3208_AUX_CHAN_AUX;
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 228 else if (ret >= 0)
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 229 aux_channels[i] = ret;
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 230 else
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 231 return dev_err_probe(&client->dev, ret,
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 232 "Failed getting aux-channel.\n");
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 233 }
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 234
76a4ad1dec9ab2b Jan Carlo Roleda 2026-03-18 235 ret = ltc3208_update_aux_dac(data, aux_channels[0], aux_channels[1],
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2026-03-19 15:53 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-18 6:59 [PATCH 0/3] Add support for LTC3208 multi-display driver Jan Carlo Roleda
2026-03-18 6:59 ` [PATCH 1/3] Add Maintainers to LTC3208 LED Driver Jan Carlo Roleda
2026-03-18 6:59 ` [PATCH 2/3] leds: ltc3208: add driver Jan Carlo Roleda
2026-03-19 15:53 ` Dan Carpenter [this message]
2026-03-18 6:59 ` [PATCH 3/3] dt-bindings: leds: Document LTC3208 Multidisplay LED Driver Jan Carlo Roleda
2026-03-18 8:30 ` Rob Herring (Arm)
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=202603192312.QLMHYKWa-lkp@intel.com \
--to=dan.carpenter@linaro.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jancarlo.roleda@analog.com \
--cc=krzk@kernel.org \
--cc=lee@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=oe-kbuild@lists.linux.dev \
--cc=pavel@kernel.org \
--cc=robh@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox