[PATCH 1/2] mailbox: Add power_get/power_put API to mbox_chan_ops
Dan Carpenter
dan.carpenter at linaro.org
Mon Jun 17 05:39:59 PDT 2024
Hi Jason-JH.Lin,
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/Jason-JH-Lin/mailbox-Add-power_get-power_put-API-to-mbox_chan_ops/20240614-120412
base: linus/master
patch link: https://lore.kernel.org/r/20240614040133.24967-2-jason-jh.lin%40mediatek.com
patch subject: [PATCH 1/2] mailbox: Add power_get/power_put API to mbox_chan_ops
config: x86_64-randconfig-161-20240615 (https://download.01.org/0day-ci/archive/20240615/202406151520.TDnOFFbV-lkp@intel.com/config)
compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
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 at intel.com>
| Reported-by: Dan Carpenter <dan.carpenter at linaro.org>
| Closes: https://lore.kernel.org/r/202406151520.TDnOFFbV-lkp@intel.com/
smatch warnings:
drivers/mailbox/mailbox.c:485 mbox_request_channel() error: 'chan' dereferencing possible ERR_PTR()
vim +/chan +485 drivers/mailbox/mailbox.c
2b6d83e2b8b7de Jassi Brar 2014-06-12 444 struct mbox_chan *mbox_request_channel(struct mbox_client *cl, int index)
2b6d83e2b8b7de Jassi Brar 2014-06-12 445 {
2b6d83e2b8b7de Jassi Brar 2014-06-12 446 struct device *dev = cl->dev;
2b6d83e2b8b7de Jassi Brar 2014-06-12 447 struct mbox_controller *mbox;
2b6d83e2b8b7de Jassi Brar 2014-06-12 448 struct of_phandle_args spec;
2b6d83e2b8b7de Jassi Brar 2014-06-12 449 struct mbox_chan *chan;
2b6d83e2b8b7de Jassi Brar 2014-06-12 450 int ret;
2b6d83e2b8b7de Jassi Brar 2014-06-12 451
2b6d83e2b8b7de Jassi Brar 2014-06-12 452 if (!dev || !dev->of_node) {
2b6d83e2b8b7de Jassi Brar 2014-06-12 453 pr_debug("%s: No owner device node\n", __func__);
2b6d83e2b8b7de Jassi Brar 2014-06-12 454 return ERR_PTR(-ENODEV);
2b6d83e2b8b7de Jassi Brar 2014-06-12 455 }
2b6d83e2b8b7de Jassi Brar 2014-06-12 456
2b6d83e2b8b7de Jassi Brar 2014-06-12 457 mutex_lock(&con_mutex);
2b6d83e2b8b7de Jassi Brar 2014-06-12 458
2b6d83e2b8b7de Jassi Brar 2014-06-12 459 if (of_parse_phandle_with_args(dev->of_node, "mboxes",
2b6d83e2b8b7de Jassi Brar 2014-06-12 460 "#mbox-cells", index, &spec)) {
b6d83e2b8b7de Jassi Brar 2014-06-12 461 dev_dbg(dev, "%s: can't parse \"mboxes\" property\n", __func__);
2b6d83e2b8b7de Jassi Brar 2014-06-12 462 mutex_unlock(&con_mutex);
2b6d83e2b8b7de Jassi Brar 2014-06-12 463 return ERR_PTR(-ENODEV);
2b6d83e2b8b7de Jassi Brar 2014-06-12 464 }
2b6d83e2b8b7de Jassi Brar 2014-06-12 465
2d805fc1c6b2ec Benson Leung 2015-05-04 466 chan = ERR_PTR(-EPROBE_DEFER);
2b6d83e2b8b7de Jassi Brar 2014-06-12 467 list_for_each_entry(mbox, &mbox_cons, node)
2b6d83e2b8b7de Jassi Brar 2014-06-12 468 if (mbox->dev->of_node == spec.np) {
2b6d83e2b8b7de Jassi Brar 2014-06-12 469 chan = mbox->of_xlate(mbox, &spec);
8ed82e23875e60 Mikko Perttunen 2018-11-28 470 if (!IS_ERR(chan))
2b6d83e2b8b7de Jassi Brar 2014-06-12 471 break;
2b6d83e2b8b7de Jassi Brar 2014-06-12 472 }
2b6d83e2b8b7de Jassi Brar 2014-06-12 473
2b6d83e2b8b7de Jassi Brar 2014-06-12 474 of_node_put(spec.np);
2b6d83e2b8b7de Jassi Brar 2014-06-12 475
2d805fc1c6b2ec Benson Leung 2015-05-04 476 if (IS_ERR(chan)) {
2d805fc1c6b2ec Benson Leung 2015-05-04 477 mutex_unlock(&con_mutex);
2d805fc1c6b2ec Benson Leung 2015-05-04 478 return chan;
2d805fc1c6b2ec Benson Leung 2015-05-04 479 }
2d805fc1c6b2ec Benson Leung 2015-05-04 480
85a953806557db Elliot Berman 2023-04-10 481 ret = __mbox_bind_client(chan, cl);
85a953806557db Elliot Berman 2023-04-10 482 if (ret)
2b6d83e2b8b7de Jassi Brar 2014-06-12 483 chan = ERR_PTR(ret);
change is set to error pointer
2b6d83e2b8b7de Jassi Brar 2014-06-12 484
9c57f48cd805b1 Jason-JH.Lin 2024-06-14 @485 if (chan->mbox->ops->power_put)
^^^^^^
Dereferenced on the next line
9c57f48cd805b1 Jason-JH.Lin 2024-06-14 486 chan->mbox->ops->power_put(chan);
9c57f48cd805b1 Jason-JH.Lin 2024-06-14 487
2b6d83e2b8b7de Jassi Brar 2014-06-12 488 mutex_unlock(&con_mutex);
9c57f48cd805b1 Jason-JH.Lin 2024-06-14 489
2b6d83e2b8b7de Jassi Brar 2014-06-12 490 return chan;
2b6d83e2b8b7de Jassi Brar 2014-06-12 491 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the Linux-mediatek
mailing list