From: Dan Carpenter <dan.carpenter@linaro.org>
To: oe-kbuild@lists.linux.dev,
"Bartosz Golaszewski" <bartosz.golaszewski@oss.qualcomm.com>,
"Linus Walleij" <linusw@kernel.org>,
"Bartosz Golaszewski" <brgl@kernel.org>,
"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Dmitry Torokhov" <dmitry.torokhov@gmail.com>,
"Arnd Bergmann" <arnd@kernel.org>,
"Hans de Goede" <hansg@kernel.org>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
platform-driver-x86@vger.kernel.org, stable@vger.kernel.org
Subject: Re: [PATCH] gpio: swnode: restore the swnode-name-against-chip-label matching
Date: Tue, 10 Feb 2026 22:10:47 +0300 [thread overview]
Message-ID: <202602110128.BInRI9un-lkp@intel.com> (raw)
In-Reply-To: <20260210094806.38146-1-bartosz.golaszewski@oss.qualcomm.com>
Hi Bartosz,
kernel test robot noticed the following build warnings:
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Bartosz-Golaszewski/gpio-swnode-restore-the-swnode-name-against-chip-label-matching/20260210-175012
base: https://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git gpio/for-next
patch link: https://lore.kernel.org/r/20260210094806.38146-1-bartosz.golaszewski%40oss.qualcomm.com
patch subject: [PATCH] gpio: swnode: restore the swnode-name-against-chip-label matching
config: nios2-randconfig-r071-20260210 (https://download.01.org/0day-ci/archive/20260211/202602110128.BInRI9un-lkp@intel.com/config)
compiler: nios2-linux-gcc (GCC) 8.5.0
smatch version: v0.5.0-8994-gd50c5a4c
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/202602110128.BInRI9un-lkp@intel.com/
smatch warnings:
drivers/gpio/gpiolib-swnode.c:62 swnode_get_gpio_device() error: we previously assumed 'gdev_node' could be null (see line 32)
vim +/gdev_node +62 drivers/gpio/gpiolib-swnode.c
b7b56e64a345e7 Bartosz Golaszewski 2023-09-27 26 static struct gpio_device *swnode_get_gpio_device(struct fwnode_handle *fwnode)
e7f9ff5dc90c38 Dmitry Torokhov 2022-11-11 27 {
b7b56e64a345e7 Bartosz Golaszewski 2023-09-27 28 const struct software_node *gdev_node;
b7b56e64a345e7 Bartosz Golaszewski 2023-09-27 29 struct gpio_device *gdev;
e7f9ff5dc90c38 Dmitry Torokhov 2022-11-11 30
b7b56e64a345e7 Bartosz Golaszewski 2023-09-27 31 gdev_node = to_software_node(fwnode);
6774a66d0e103d Bartosz Golaszewski 2025-12-15 @32 if (!gdev_node)
216c1204757190 Bartosz Golaszewski 2025-11-20 33 goto fwnode_lookup;
gdev_node is NULL
e7f9ff5dc90c38 Dmitry Torokhov 2022-11-11 34
9d50f95bc0d5df Charles Keepax 2024-04-16 35 /*
9d50f95bc0d5df Charles Keepax 2024-04-16 36 * Check for a special node that identifies undefined GPIOs, this is
9d50f95bc0d5df Charles Keepax 2024-04-16 37 * primarily used as a key for internal chip selects in SPI bindings.
9d50f95bc0d5df Charles Keepax 2024-04-16 38 */
9d50f95bc0d5df Charles Keepax 2024-04-16 39 if (IS_ENABLED(CONFIG_GPIO_SWNODE_UNDEFINED) &&
6774a66d0e103d Bartosz Golaszewski 2025-12-15 40 gdev_node == &swnode_gpio_undefined)
9d50f95bc0d5df Charles Keepax 2024-04-16 41 return ERR_PTR(-ENOENT);
9d50f95bc0d5df Charles Keepax 2024-04-16 42
216c1204757190 Bartosz Golaszewski 2025-11-20 43 fwnode_lookup:
e5d527be7e6984 Bartosz Golaszewski 2025-11-03 44 gdev = gpio_device_find_by_fwnode(fwnode);
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 45 if (!gdev)
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 46 /*
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 47 * FIXME: We shouldn't need to compare the GPIO controller's
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 48 * label against the software node that is supposedly attached
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 49 * to it. However there are currently GPIO users that - knowing
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 50 * the expected label of the GPIO chip whose pins they want to
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 51 * control - set up dummy software nodes named after those GPIO
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 52 * controllers, which aren't actually attached to them. In this
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 53 * case gpio_device_find_by_fwnode() will fail as no device on
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 54 * the GPIO bus is actually associated with the fwnode we're
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 55 * looking for.
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 56 *
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 57 * As a fallback: continue checking the label if we have no
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 58 * match. However, the situation described above is an abuse
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 59 * of the software node API and should be phased out and the
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 60 * following line - eventually removed.
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 61 */
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 @62 gdev = gpio_device_find_by_label(gdev_node->name);
^^^^^^^^^^^^^^^
Unchecked dereference
4a61b0b6de0480 Bartosz Golaszewski 2026-02-10 63
b7b56e64a345e7 Bartosz Golaszewski 2023-09-27 64 return gdev ?: ERR_PTR(-EPROBE_DEFER);
e7f9ff5dc90c38 Dmitry Torokhov 2022-11-11 65 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
prev parent reply other threads:[~2026-02-10 19:10 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-10 9:48 [PATCH] gpio: swnode: restore the swnode-name-against-chip-label matching Bartosz Golaszewski
2026-02-10 10:06 ` Andy Shevchenko
2026-02-10 10:41 ` Hans de Goede
2026-02-10 19:10 ` Dan Carpenter [this message]
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=202602110128.BInRI9un-lkp@intel.com \
--to=dan.carpenter@linaro.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=arnd@kernel.org \
--cc=bartosz.golaszewski@oss.qualcomm.com \
--cc=brgl@kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linusw@kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=oe-kbuild@lists.linux.dev \
--cc=platform-driver-x86@vger.kernel.org \
--cc=stable@vger.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