From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@01.org
Cc: "Linus Walleij" <linus.walleij@linaro.org>,
linux-kernel@vger.kernel.org, "Marek Behún" <marek.behun@nic.cz>,
linux-gpio@vger.kernel.org, kbuild-all@01.org,
"Lee Jones" <lee.jones@linaro.org>
Subject: Re: [PATCH mfd+gpio 1/2] drivers: mfd: Add support for Moxtet bus
Date: Sat, 1 Sep 2018 13:45:56 +0300 [thread overview]
Message-ID: <20180901104556.ldj4vftjfb5glbmz@mwanda> (raw)
In-Reply-To: <20180830144151.13417-1-marek.behun@nic.cz>
Hi Marek,
Thank you for the patch! Perhaps something to improve:
url: https://github.com/0day-ci/linux/commits/Marek-Beh-n/drivers-mfd-Add-support-for-Moxtet-bus/20180831-031806
base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
smatch warnings:
drivers/mfd/moxtet.c:267 of_register_moxtet_device() warn: passing zero to 'ERR_PTR'
# https://github.com/0day-ci/linux/commit/316bda5c94917aa3b0a67c3cf79cca211d08138d
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 316bda5c94917aa3b0a67c3cf79cca211d08138d
vim +/ERR_PTR +267 drivers/mfd/moxtet.c
316bda5c Marek Behún 2018-08-30 213
316bda5c Marek Behún 2018-08-30 214 static struct moxtet_device *
316bda5c Marek Behún 2018-08-30 215 of_register_moxtet_device(struct moxtet *moxtet, struct device_node *nc)
316bda5c Marek Behún 2018-08-30 216 {
316bda5c Marek Behún 2018-08-30 217 struct moxtet_device *dev;
316bda5c Marek Behún 2018-08-30 218 u32 val;
316bda5c Marek Behún 2018-08-30 219 int ret;
316bda5c Marek Behún 2018-08-30 220
316bda5c Marek Behún 2018-08-30 221 dev = moxtet_alloc_device(moxtet);
316bda5c Marek Behún 2018-08-30 222 if (!dev) {
316bda5c Marek Behún 2018-08-30 223 dev_err(moxtet->dev,
316bda5c Marek Behún 2018-08-30 224 "Moxtet device alloc error for %pOF\n", nc);
316bda5c Marek Behún 2018-08-30 225 return ERR_PTR(-ENOMEM);
316bda5c Marek Behún 2018-08-30 226 }
316bda5c Marek Behún 2018-08-30 227
316bda5c Marek Behún 2018-08-30 228 ret = of_property_read_u32(nc, "reg", &val);
316bda5c Marek Behún 2018-08-30 229 if (ret || val >= TURRIS_MOX_MAX_MODULES) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
No error code set. It means we return NULL. Presumably it leads to a
NULL dereference in the caller?
316bda5c Marek Behún 2018-08-30 230 dev_err(moxtet->dev, "%pOF has no valid 'reg' property (%d)\n",
316bda5c Marek Behún 2018-08-30 231 nc, ret);
316bda5c Marek Behún 2018-08-30 232 goto err_put;
316bda5c Marek Behún 2018-08-30 233 }
316bda5c Marek Behún 2018-08-30 234 dev->idx = val;
316bda5c Marek Behún 2018-08-30 235
316bda5c Marek Behún 2018-08-30 236 ret = of_property_read_u32(nc, "moxtet,id", &val);
316bda5c Marek Behún 2018-08-30 237 if (ret || val > 0xf) {
^^^^^^^^^
316bda5c Marek Behún 2018-08-30 238 dev_err(moxtet->dev,
316bda5c Marek Behún 2018-08-30 239 "%pOF has no valid 'moxtet,id' property (%d)\n", nc,
316bda5c Marek Behún 2018-08-30 240 ret);
316bda5c Marek Behún 2018-08-30 241 goto err_put;
316bda5c Marek Behún 2018-08-30 242 }
316bda5c Marek Behún 2018-08-30 243 dev->id = val;
316bda5c Marek Behún 2018-08-30 244
316bda5c Marek Behún 2018-08-30 245 if (moxtet->modules[dev->idx] != dev->id) {
316bda5c Marek Behún 2018-08-30 246 dev_err(moxtet->dev,
316bda5c Marek Behún 2018-08-30 247 "%pOF requested Moxtet device ID 0x%x, 0x%x found\n",
316bda5c Marek Behún 2018-08-30 248 nc, dev->id, moxtet->modules[dev->idx]);
316bda5c Marek Behún 2018-08-30 249 goto err_put;
^^^^^^^^^^^^
316bda5c Marek Behún 2018-08-30 250 }
316bda5c Marek Behún 2018-08-30 251
316bda5c Marek Behún 2018-08-30 252 of_node_get(nc);
316bda5c Marek Behún 2018-08-30 253 dev->dev.of_node = nc;
316bda5c Marek Behún 2018-08-30 254
316bda5c Marek Behún 2018-08-30 255 ret = moxtet_add_device(dev);
316bda5c Marek Behún 2018-08-30 256 if (ret) {
316bda5c Marek Behún 2018-08-30 257 dev_err(moxtet->dev,
316bda5c Marek Behún 2018-08-30 258 "Moxtet device register error for %pOF\n", nc);
316bda5c Marek Behún 2018-08-30 259 of_node_put(nc);
316bda5c Marek Behún 2018-08-30 260 goto err_put;
316bda5c Marek Behún 2018-08-30 261 }
316bda5c Marek Behún 2018-08-30 262
316bda5c Marek Behún 2018-08-30 263 return dev;
316bda5c Marek Behún 2018-08-30 264
316bda5c Marek Behún 2018-08-30 265 err_put:
316bda5c Marek Behún 2018-08-30 266 put_device(&dev->dev);
316bda5c Marek Behún 2018-08-30 @267 return ERR_PTR(ret);
316bda5c Marek Behún 2018-08-30 268 }
316bda5c Marek Behún 2018-08-30 269
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@01.org, "Marek Behún" <marek.behun@nic.cz>
Cc: kbuild-all@01.org, "Linus Walleij" <linus.walleij@linaro.org>,
"Lee Jones" <lee.jones@linaro.org>,
linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
"Marek Behún" <marek.behun@nic.cz>
Subject: Re: [PATCH mfd+gpio 1/2] drivers: mfd: Add support for Moxtet bus
Date: Sat, 1 Sep 2018 13:45:56 +0300 [thread overview]
Message-ID: <20180901104556.ldj4vftjfb5glbmz@mwanda> (raw)
In-Reply-To: <20180830144151.13417-1-marek.behun@nic.cz>
Hi Marek,
Thank you for the patch! Perhaps something to improve:
url: https://github.com/0day-ci/linux/commits/Marek-Beh-n/drivers-mfd-Add-support-for-Moxtet-bus/20180831-031806
base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
smatch warnings:
drivers/mfd/moxtet.c:267 of_register_moxtet_device() warn: passing zero to 'ERR_PTR'
# https://github.com/0day-ci/linux/commit/316bda5c94917aa3b0a67c3cf79cca211d08138d
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 316bda5c94917aa3b0a67c3cf79cca211d08138d
vim +/ERR_PTR +267 drivers/mfd/moxtet.c
316bda5c Marek Behún 2018-08-30 213
316bda5c Marek Behún 2018-08-30 214 static struct moxtet_device *
316bda5c Marek Behún 2018-08-30 215 of_register_moxtet_device(struct moxtet *moxtet, struct device_node *nc)
316bda5c Marek Behún 2018-08-30 216 {
316bda5c Marek Behún 2018-08-30 217 struct moxtet_device *dev;
316bda5c Marek Behún 2018-08-30 218 u32 val;
316bda5c Marek Behún 2018-08-30 219 int ret;
316bda5c Marek Behún 2018-08-30 220
316bda5c Marek Behún 2018-08-30 221 dev = moxtet_alloc_device(moxtet);
316bda5c Marek Behún 2018-08-30 222 if (!dev) {
316bda5c Marek Behún 2018-08-30 223 dev_err(moxtet->dev,
316bda5c Marek Behún 2018-08-30 224 "Moxtet device alloc error for %pOF\n", nc);
316bda5c Marek Behún 2018-08-30 225 return ERR_PTR(-ENOMEM);
316bda5c Marek Behún 2018-08-30 226 }
316bda5c Marek Behún 2018-08-30 227
316bda5c Marek Behún 2018-08-30 228 ret = of_property_read_u32(nc, "reg", &val);
316bda5c Marek Behún 2018-08-30 229 if (ret || val >= TURRIS_MOX_MAX_MODULES) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
No error code set. It means we return NULL. Presumably it leads to a
NULL dereference in the caller?
316bda5c Marek Behún 2018-08-30 230 dev_err(moxtet->dev, "%pOF has no valid 'reg' property (%d)\n",
316bda5c Marek Behún 2018-08-30 231 nc, ret);
316bda5c Marek Behún 2018-08-30 232 goto err_put;
316bda5c Marek Behún 2018-08-30 233 }
316bda5c Marek Behún 2018-08-30 234 dev->idx = val;
316bda5c Marek Behún 2018-08-30 235
316bda5c Marek Behún 2018-08-30 236 ret = of_property_read_u32(nc, "moxtet,id", &val);
316bda5c Marek Behún 2018-08-30 237 if (ret || val > 0xf) {
^^^^^^^^^
316bda5c Marek Behún 2018-08-30 238 dev_err(moxtet->dev,
316bda5c Marek Behún 2018-08-30 239 "%pOF has no valid 'moxtet,id' property (%d)\n", nc,
316bda5c Marek Behún 2018-08-30 240 ret);
316bda5c Marek Behún 2018-08-30 241 goto err_put;
316bda5c Marek Behún 2018-08-30 242 }
316bda5c Marek Behún 2018-08-30 243 dev->id = val;
316bda5c Marek Behún 2018-08-30 244
316bda5c Marek Behún 2018-08-30 245 if (moxtet->modules[dev->idx] != dev->id) {
316bda5c Marek Behún 2018-08-30 246 dev_err(moxtet->dev,
316bda5c Marek Behún 2018-08-30 247 "%pOF requested Moxtet device ID 0x%x, 0x%x found\n",
316bda5c Marek Behún 2018-08-30 248 nc, dev->id, moxtet->modules[dev->idx]);
316bda5c Marek Behún 2018-08-30 249 goto err_put;
^^^^^^^^^^^^
316bda5c Marek Behún 2018-08-30 250 }
316bda5c Marek Behún 2018-08-30 251
316bda5c Marek Behún 2018-08-30 252 of_node_get(nc);
316bda5c Marek Behún 2018-08-30 253 dev->dev.of_node = nc;
316bda5c Marek Behún 2018-08-30 254
316bda5c Marek Behún 2018-08-30 255 ret = moxtet_add_device(dev);
316bda5c Marek Behún 2018-08-30 256 if (ret) {
316bda5c Marek Behún 2018-08-30 257 dev_err(moxtet->dev,
316bda5c Marek Behún 2018-08-30 258 "Moxtet device register error for %pOF\n", nc);
316bda5c Marek Behún 2018-08-30 259 of_node_put(nc);
316bda5c Marek Behún 2018-08-30 260 goto err_put;
316bda5c Marek Behún 2018-08-30 261 }
316bda5c Marek Behún 2018-08-30 262
316bda5c Marek Behún 2018-08-30 263 return dev;
316bda5c Marek Behún 2018-08-30 264
316bda5c Marek Behún 2018-08-30 265 err_put:
316bda5c Marek Behún 2018-08-30 266 put_device(&dev->dev);
316bda5c Marek Behún 2018-08-30 @267 return ERR_PTR(ret);
316bda5c Marek Behún 2018-08-30 268 }
316bda5c Marek Behún 2018-08-30 269
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
next prev parent reply other threads:[~2018-09-01 10:45 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-30 14:41 [PATCH mfd+gpio 1/2] drivers: mfd: Add support for Moxtet bus Marek Behún
2018-08-30 14:41 ` [PATCH mfd+gpio 2/2] drivers: gpio: Add support for GPIOs over " Marek Behún
2018-09-05 10:07 ` Linus Walleij
2018-08-30 14:47 ` [PATCH mfd+gpio] Request (Linus Walleij + Lee Jones) Marek Behun
2018-09-05 9:36 ` Linus Walleij
2018-09-01 10:45 ` Dan Carpenter [this message]
2018-09-01 10:45 ` [PATCH mfd+gpio 1/2] drivers: mfd: Add support for Moxtet bus Dan Carpenter
2018-09-11 14:43 ` Lee Jones
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=20180901104556.ldj4vftjfb5glbmz@mwanda \
--to=dan.carpenter@oracle.com \
--cc=kbuild-all@01.org \
--cc=kbuild@01.org \
--cc=lee.jones@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marek.behun@nic.cz \
/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.