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
WARNING: multiple messages have this Message-ID (diff)
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] gpio: swnode: restore the swnode-name-against-chip-label matching
Date: Wed, 11 Feb 2026 01:51:30 +0800 [thread overview]
Message-ID: <202602110128.BInRI9un-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20260210094806.38146-1-bartosz.golaszewski@oss.qualcomm.com>
References: <20260210094806.38146-1-bartosz.golaszewski@oss.qualcomm.com>
TO: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
TO: Linus Walleij <linusw@kernel.org>
TO: Bartosz Golaszewski <brgl@kernel.org>
TO: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
TO: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
TO: Dmitry Torokhov <dmitry.torokhov@gmail.com>
TO: Arnd Bergmann <arnd@kernel.org>
TO: Hans de Goede <hansg@kernel.org>
TO: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
CC: linux-gpio@vger.kernel.org
CC: linux-kernel@vger.kernel.org
CC: platform-driver-x86@vger.kernel.org
CC: stable@vger.kernel.org
Hi Bartosz,
kernel test robot noticed the following build warnings:
[auto build test WARNING on brgl/gpio/for-next]
[also build test WARNING on linus/master v6.19 next-20260209]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
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
:::::: branch date: 8 hours ago
:::::: commit date: 8 hours ago
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 <error27@gmail.com>
| 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
e7f9ff5dc90c38 Dmitry Torokhov 2022-11-11 25
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;
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);
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 }
e7f9ff5dc90c38 Dmitry Torokhov 2022-11-11 66
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next parent reply other threads:[~2026-02-10 19:10 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-10 17:51 kernel test robot [this message]
2026-02-10 19:10 ` [PATCH] gpio: swnode: restore the swnode-name-against-chip-label matching Dan Carpenter
-- strict thread matches above, loose matches on Subject: below --
2026-02-10 9:48 Bartosz Golaszewski
2026-02-10 10:06 ` Andy Shevchenko
2026-02-10 10:41 ` Hans de Goede
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 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.